如何在MediaWiki页面表单中通过字段值创建或选择分类?
解决MediaWiki表单自动分类失效问题
1. 修复模板中的分类生成逻辑
你的模板里#arraymap函数没有正确引用用户输入的User_Category字段值,导致无法生成分类链接。修改模板的includeonly部分:
<includeonly> {{#template_display:_format=sections}} [[Category:Summary Article]] {{#arraymap:{{{User_Category|}}}|,|@@|[[Category:@@]]|}} </includeonly>
{{{User_Category|}}}:获取表单中用户输入的分类值,|表示如果为空则返回空字符串#arraymap的作用是将逗号分隔的多个分类值,逐个转换为[[Category:分类名]]格式,自动支持多分类
2. 优化表单字段配置(可选但推荐)
为了让分类字段更易用,修改表单中的User_Category字段,指定类型为category,支持自动补全现有分类,同时允许输入新分类:
==Category== {{{field|User_Category|level=2|type=category|multiple=true|delimiter=,|label=请选择或输入分类(多个分类用逗号分隔)}}}
type=category:启用分类选择器,自动补全站内现有分类multiple=true:允许用户选择多个分类delimiter=,:指定多分类的分隔符,和模板中的#arraymap分隔符保持一致
3. 测试验证
创建或编辑页面时,输入分类(比如物理学,量子力学),提交后查看页面的分类栏,应该能看到Summary Article、物理学、量子力学三个分类。
如果还是不生效,检查:
- 确认安装了
PageForms(原Semantic Forms)扩展,且版本兼容 - 确保用户有创建分类页面的权限(如果输入新分类的话)
- 查看页面源代码,确认分类链接是否正确生成(比如是否有
[[Category:XXX]]的代码)
内容的提问来源于stack exchange,提问作者Code Monkey
相关产品推荐
相关产品推荐

