调用MediaWiki模板MyBox1后页面无显示,问题排查求助
维基模板调用后无内容显示的问题排查与解决
问题重现
调用代码:
{{MyBox1 |header=Under Construction }}
模板MyBox1的原内容:
<includeonly> [[Category:{{{status|Unknown status}}} developments]] {{#if:{{{header}}}|Header: {{{status|unknown}}}|}} <div style="word-break: break-word;">{{{header|}}}</div> </includeonly>
模板保存并重新加载调用页面后,页面无任何内容显示。
核心原因
- 模板指令被错误转义:模板中使用了HTML实体(如
<、>、")替代原生标签和引号,导致MediaWiki无法识别<includeonly>等模板处理指令,也无法正确解析HTML样式和变量逻辑,最终没有任何内容被渲染到页面。 - 逻辑匹配错位:即使修复转义问题,当前
#if语句的输出逻辑与预期不符——当传递header参数时,输出的是status的默认值unknown,而非header的实际内容,但这不会导致页面完全空白,只是输出内容不符合预期。
解决方法
- 修正模板内容:编辑
MyBox1模板,将所有HTML实体替换为原生字符,确保模板指令和代码被正确识别:
<includeonly> [[Category:{{{status|Unknown status}}} developments]] {{#if:{{{header}}}|Header: {{{header}}}|}} <div style="word-break: break-word;">{{{header|}}}</div> </includeonly>
(注:已同步调整#if语句,使其输出header的实际值,若你原本就想输出status内容,可保留原{{{status|unknown}}}部分)
2. 强制刷新缓存:修改模板后,若调用页面仍无内容,可在页面URL末尾追加?action=purge,强制刷新MediaWiki的页面缓存。
内容的提问来源于stack exchange,提问作者Harry H. Arends
相关产品推荐
相关产品推荐

