MediaWiki模板ifexpr导致标签重复显示问题求助
修复MediaWiki物品标签重复显示的问题
原代码中每个{{#ifexpr}}分支无论是否匹配关键词,都会输出{{{type|}}},导致类型文本重复显示4次。以下是修改后的代码,可让标签仅显示一次:
<data source="type"> <label>Type</label> <format> {{{type|}}} {{#ifexpr:{{#rpos:{{lc:{{{type|}}}}}|weapon}}>=0|{{AddCategory|Weapon}}}} {{#ifexpr:{{#rpos:{{lc:{{{type|}}}}}|armor}}>=0|{{AddCategory|Armor}}}} {{#ifexpr:{{#rpos:{{lc:{{{type|}}}}}|palace}}>=0|{{AddCategory|Palace}}}} {{#ifexpr:{{#rpos:{{lc:{{{type|}}}}}|domain}}>=0|{{AddCategory|Domain}}}} </format> </data>
修改说明
- 将
{{{type|}}}单独提取到最前方,仅输出一次类型文本 - 每个
{{#ifexpr}}仅保留匹配时添加对应分类的逻辑,不匹配时不输出任何内容(移除了原分支中重复的{{{type|}}})
这样既保留了自动添加分类的功能,又能确保类型标签只显示一次。
内容的提问来源于stack exchange,提问作者Bob Jones
相关产品推荐
相关产品推荐

