Я работаю над модулем Scribunto, который принимает переменное количество аргументов для создания таблицы. У меня есть шаблон, который вызывает модуль, и отдельный шаблон для строк в таблице. Тем не менее, один из компонентов всегда будет за пределами контекста таблицы, который, в свою очередь, кажется, избегает тегов <tr>
и <td>
.Как предотвратить экранирующие теги, связанные с таблицей вне контекста таблицы
вызывающая шаблон не содержит ничего, кроме {{#invoke:Module|module}}
шаблона строки содержит следующий пример код:
|-
| {{{1}}}
| {{{2}}}
Есть страницы, которые используют этот шаблон включает его
{{InvokeTemplate
| {{InvokeTemplate row | data1 | data2}}
}}
Я попытался создать таблица в модуле lua
args = frame:getParent().args
t = mw.create.html('table')
t
:tag('tr')
:tag('th')
:wikitext('Header1')
:tag('th')
:wikitext('Header2')
:wikitext(args[1])
return tostring(t)
В этот момент шаблон строки не был в контексте таблицы, тем самым делая шаблон строки незанятым. Затем я попытался использовать HTML в шаблоне строки, но теги были переведены на объекты. Наконец, я попытался добавить теги создания таблицы в вызывающий шаблон с помощью {|
и |}
и модифицировать модуль lua до t = mw.create.html()
, но в то время как теги шаблона строки были в порядке, теги в модуле lua были переведены.
Как предотвратить перенос этих тегов MediaWiki в html-объекты?
Вы пробовали кормить его HTML-сущностями? '{{ | |} } 'Это работало хорошо для меня при использовании шаблонов внутри шаблонов. А иногда MW просто странно :) – guaka