在MediaWiki中使用动态生成的类别时限制类别转换

Ove*_*dUT 6 wiki mediawiki

起初我不确定如何在MediaWiki上做一些高级操作的问题属于这里,但是在阅读常见问题并思考它之后,我认为wiki标记与HTML和CSS一样是自己的语言,如果那些欢迎提出问题,希望这也是!如果我错了,请随意标记这个问题.更新:正如这个问题得到的3个观点所证明的那样,我想虽然也许它符合Stackoverflow的规则,但可能没有太多关于这个主题的专业知识!我想我需要把这个问题带到官方论坛(不寒而栗)


问题

在维基上,我正在设置我的MediaWiki,我有一个模板,输出动态创建的类别.这意味着将根据传递给模板的一些变量对调用模板的页面进行分类.动态生成的类别是内部<includeonly>块,以防止模板页面本身获取类别.

问题是我然后将该页面转移到其他页面,这也导致类别被转换,现在第三页面具有它所转换的所有页面的所有类别.

我想以某种方式格式化模板,以便调用模板的页面将使用类别,但任何转换调用页面的页面都不会继承类别.

这是我在设置示例中的最佳镜头.如果这不够,我可以提供我现实世界的例子的链接.

Template:Food
一个页面,它接受一些变量并输出一个高度格式化的块来解释食物,包括根据"类型"变量输出类别.

Banana
此页面调用Template:Food带有一些变量的模板,包括type设置为"fruit".结果是当用户查看" Banana"页面时,他们会获得一个格式良好的页面,其中包含有关水果的一些基本信息.此外,如果用户访问该Category:Fruit页面,他们将看到列出的香蕉页面.

Banana Nut Bread Recipe
这是问题页面.在这个食谱页面上,作者希望转换成分的所有页面,以便每个成分都列在其格式良好的块中.但是,当他Banana使用时转换页面时{{:Banana}},Fruit类别会与其一起被转换,现在Banana Nut Bread Recipe页面被列为Fruit属于错误的类别.

pfc*_*ise 3

如果我理解正确的话,您希望将仅包含信息(类别)限制为仅深度 1 嵌入。我认为这是不可能的。

可能的解决方案:

1-不要将类别信息放入Template:Food. 只需将其直接放在每个成分页面中,或者如果确实必须,创建一个Template:Food_category或类似的。那么每个页面可以有任意数量的{{Food}}s,并且{{food category}}需要显式放置 s。