Переключить категорию в MediaWiki

Я не совсем уверен, возможно ли это в MediaWiki.

У меня есть несколько категорий, каждая из которых содержит несколько страниц. Если вы откроете страницу категории, вы увидите содержимое категории, которая обычно состоит из этих трех частей:

  • Пользовательский текст (который можно редактировать с помощью ссылки редактирования).
  • Все подкатегории, прикрепленные к этой категории.
  • Все страницы, прикрепленные к этой категории.

Моя цель - создать страницу, которая включает по крайней мере часть №3 нескольких категорий. Страница, которая показывает мне все названия страниц, которые прикреплены к нескольким категориям по моему выбору, сгруппированы по их категории.

Мой первый подход заключался в использовании стандартного синтаксиса трансключений MediaWiki:

    Category A contains these pages:
    {{:Category:A}}
    Category B contains these pages:
    {{:Category:B}}
    Category C contains these pages:
    {{:Category:C}}
    ...

К сожалению, эта только переделанная часть № 1 категории: пользовательский текст. Список имен страниц отсутствует.

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

Возможно, есть расширение MediaWiki...

Есть ли разумный способ реализовать это?

Ответ 2

Если вам нужен больше контроля над тем, как отображаются результаты, вы можете попробовать Semantic Mediawiki.

Синтаксис будет выглядеть примерно так:

Pages in Category A:

{{#ask:[[Category:A]]
|format=ul
}}

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

Ответ 3

Динамический список страниц MediaWiki (http://www.mediawiki.org/wiki/Extension:DynamicPageList_(third-party)) делает это с легкостью, создавая маркированные списки статей в категории:

Pages in Category A:
<dpl>
category=A
</dpl>

без тяжеловесного решения, такого как Semantic MediaWiki. Просто установите и уйдите.

DPL имеет богатый синтаксис для более мощных динамических списков. Например, чтобы создать нумерованный список в 3 столбцах:

<dpl>
category=A
mode=ordered
columns=3
</dpl>