2016-07-29 2 views
0

Я работаю над набором сложных шаблонов Mediawiki. Предполагается, что для основных редакторов должна быть страница «внешнего слоя», где они могут просто заполнять значения параметров и дополнительный текст. Это передается промежуточному шаблону, который разбивает все параметры на различные шаблоны 2-го уровня, которые фактически обрабатывают всю организацию данных и отображение страницы. Есть что-то вроде 250 параметров, которые потенциально могут быть переданы, хотя, вероятно, только от 20 до 25 с любой главной страницы.Шаблоны Mediawiki: как получить список имен параметров?

Есть ли способ получить список тех именованных параметров, которые передаются в шаблон? Вместо гигантского списка {{#if {{{arg}} | arg = {{{arg}}}}} s, было бы намного чище обрабатывать только те аргументы, которые, как известно, существуют.

ответ

0

Насколько я знаю, это невозможно. Помните, что механизм шаблонов MediaWiki НЕ является языком программирования.

Однако, не зная конкретного варианта использования, вы, вероятно, можете решить свою проблему, указав значения по умолчанию. Вместо того, чтобы:

{{#if {{{arg}}} | {{{arg}}} | default }} 

вы можете сделать что-то вроде этого:

{{{arg|default}}} 
0

Установить расширение Scribunto и превратить свои шаблоны в простые обертки, вызывающей модуль Scribunto. Модули Scribunto являются сценариями Lua и имеют доступ ко всем параметрам, независимо от того, были ли они объявлены в wikitext шаблона обертки или нет.

1

Если вы установили расширение Semantic MediaWiki, у вас будет множество параметров обработки параметров (в качестве семантических свойств). Расширение Semantic Result Formats дает вам еще больше возможностей для отображения результатов.

Смежные вопросы