Условные категории - PullRequest
       12

Условные категории

0 голосов
/ 23 октября 2018

Я использую шаблон {{MyTemplate|foo}}, который состоит из следующего кода:

{{#switch: {{{1}}}
 | foo = [[Category:Foo]]
 | bar = [[Category:Bar]]
 | #default = [[Category:Unknown]]
}}

Когда я использую его на странице, категории отображаются хорошо, как хотелось бы в нижней части этогостр.Но, к сожалению, внутри этой страницы категории (например, Category: Foo) страница не отображается.

Если я добавлю [[Category:Foo]] вручную на эту страницу, страница отобразится в категории Foo-страница.

Есть предложения, почему это не работает с помощью шаблона?

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

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

https://www.mediawiki.org/wiki/Manual:Job_queue

https://www.mediawiki.org/wiki/Manual:RunJobs.php

0 голосов
/ 05 февраля 2019

Не могу понять описание вашей проблемы, но в любом случае кажется, что вы могли бы достичь той же цели:

{{#vardefine: my_category |wow}}
[[Category: {{#ifeq: {{#var:my_category}}| default| unknown| {{#var:my_category}} }} ]]

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

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

Что касается вашей проблемы, вы можете использовать «? action = purge» для этой страницы, если это не сработает, напишите здесь еще немного информации.

0 голосов
/ 24 октября 2018

Отображается ли страница шаблона, содержащая предыдущий код, в категории Unknown?Если да, то любая страница, содержащая этот шаблон, должна появиться в этой категории.Возможно, вам просто придется очистить кеш и подождать несколько секунд, если у вас большая вики.

Убедитесь, что категории foo & bar не скрыты в вашей вики.Смотрите это: https://www.mediawiki.org/wiki/Help:Categories#Hidden_categories

РЕДАКТИРОВАТЬ

Кроме того, попробуйте одно из этих решений, которое может достичь той же цели:

{{#switch: {{{1}}}
 | foo = [[Category:Foo]]
 | bar = [[Category:Bar]]
 | #default = [[Category:Unknown]]
}}

ИЛИ

{{#ifeq: {{{1}}} | foo | [[Category:Foo]] | {{#ifeq: {{{1}}} | bar | [[Category:Bar]] |  [[Category:Unknown]]}} }}
...