Mediawiki 1.16: пример использования шаблонной документации

Я пишу документацию по шаблону для вики и хотел включить рабочий пример шаблона. Тем не менее, я написал шаблон для автоматической категоризации различных полей, и весь шаблон также автоматически классифицируется.

Это означает, что если я просто вызову шаблон, он классифицирует страницу документа... и, поскольку фактическая страница шаблона включает страницу документа, страница шаблона также будет классифицирована.

Есть ли способ предотвратить автоматическое включение этих категорий?


person MxLDevs    schedule 28.04.2011    source источник


Ответы (3)


Что-то вроде следующего должно помочь. Оберните категоризацию в свой шаблон внутри функции синтаксического анализа:

{{#ifeq: {{NAMESPACE}} | Help || [[Category:Some_Category]] }}

Это устанавливает категорию, когда шаблон включается на страницу, которая не находится в пространстве имен «Справка».

person Joshua C. Lerner    schedule 29.04.2011
comment
Проверка пространства имен — хорошая идея. Я не знал, что мы можем сделать это так легко. - person MxLDevs; 29.04.2011

Другой вариант — разрешить такой параметр, как demo, чтобы избежать включения категории.

Если вы не возражаете против некоторой загадочности, вы можете указать категорию в шаблоне как {{{cat|[[Category:Some_Category]]}}}; то указание параметра как {{my template|cat=}} предотвратит включение категории.

person Anomie    schedule 29.04.2011
comment
Это работает, хотя в целом дополнительные аргументы, вероятно, могут немного сбить с толку обычного пользователя (если, конечно, я не упомяну об этом в шаблоне!) - person MxLDevs; 29.04.2011

Я не уверен, что полностью понимаю вопрос (что такое «автоматически классифицировать различные поля»?). Я предполагаю, что вы хотите показать шаблон "в действии" на странице документации - без прикрепления некоторых категорий (тех категорий, которые страница документации обычно прикрепляет к статьям, использующим этот шаблон) к странице документации.

So

‹onlyinclude›[[Category:Some_Category]]‹/onlyinclude›

не будет выполнять эту работу, так как шаблон включен на самом деле. Верно?

Попробуйте передать шаблону параметр categorize=false, чтобы указать, что в этом случае категории не должны присоединяться:

{{#ifeq:{{{categorize|}}}|false||[[Category:Some_Category]]}}

Двойная вертикальная черта после "false" означает: if(categorize==false) then (пусто), else [[Category:Some_Category]] - т.е. это эквивалентная конструкция для if(NOT(categorize==false))...

Удачи и спасибо за всю рыбу, Ахим

person achimbode    schedule 23.06.2011