1

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

Можно ли иметь шаблон подобрать категорию = Foo

из моих страниц, которые уже имеют [[Категория: Foo]]

написано на них?

мой т.е. текст шаблона в верхней части страницы будет иметь раздел, как

{{Infobox сайт | Категория = что-то}}

, чтобы получить его из [[Категория: Foo]], который у меня уже есть на всех моих страницах?

Благодаря

ответ

0

Там нет встроенного в Magic Word для получения категории, но вы можете легко создать parser function для этого, и использовать выходные данные с, например, Arrays extension, чтобы узнать, находится ли страница в определенной категории или нет. Тем не менее, это похоже на большую работу, чтобы сэкономить очень мало работы (набрав несколько лишних писем раз в то время).

Если вы хотите создать функцию синтаксического анализа, чтобы получить ток это так просто, как это:

function getCategories(&$parser, $title) { 
    // Will return a comma separated list of categories. 
    $categories = $title->getParentCategories(); 
    return implode(",", $categories); 
} 

Если вы знаете, что categoery для проверки на каждой странице, вы можете также использовать Extension:PageInCat.

Редактировать: Сейчас я вижу, что ваш вопрос отмечен Semantic MediaWiki. Это делает его простым:

{{#if: 
    {{#ask:[[Category:Foo]] {{FULLPAGENAME}}|default=|}} 
    |''This page is in Category:Foo!'' 
    |''This page is not in Category:Foo. Let's add it.'' 
}} 
Смежные вопросы