条件类别



我正在使用一个模板{{MyTemplate|foo}},它由以下代码组成:

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

当我在页面上使用它时,类别会像希望在该页面底部一样很好地显示。但不幸的是,在该类别页面(例如Category:Foo(中,该页面没有显示。

如果我手动将[[Category:Foo]]添加到该页面,该页面将显示在 Foo 类别页面中。

任何建议为什么这不能通过模板工作?

包含先前代码的模板页是否显示在"类别Unknown下?"。如果是,则包含该模板的任何页面都必须出现在其类别中。您可能只需要清除缓存,如果您有大型wiki,请等待几秒钟。

确保foo和bar类别没有隐藏在你的wiki中。看到这个: 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]]}} }}

你在wiki上运行作业队列吗?链接表是异步更新的,而不是在页面保存时更新的。

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

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

无法理解对您的问题的描述,但无论如何,您似乎可以通过以下方式实现相同的目标:

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

将此类别添加到页面, 在我看来,在任何情况下添加类别时都应该使用 switch,但也决定在另一种情况下添加类别。

如果您在所有情况下都添加类别,则可以按照我上面写的编写,或者将最终类别导出到另一个变量并在类别中使用它。

至于您的问题,您可以为此页面使用"?action=purge",如果这不起作用,请在此处写更多信息。

相关内容

  • 没有找到相关文章

最新更新