我正在制作一套复杂的Mediawiki模板。它旨在为基本编辑器提供一个“外层”页面,可以在其中填写参数值和补充文本。这将传递给临时模板,该模板将所有参数分解为实际处理所有数据组织和页面显示的各种不同的第二级模板。可能会传递250个参数,但可能只有20到25个来自任何一个主页面。
有没有办法获取传递给模板的命名参数列表?而不是{{#if {{{arg}} |的巨大列表arg = {{{arg}}}}} s,只处理那些已知存在的参数会更清晰。
答案 0 :(得分:1)
如果安装扩展Semantic MediaWiki,您将有很多处理参数的选项(作为语义属性)。扩展语义结果格式为您提供了更多关于如何显示结果的选项。
答案 1 :(得分:0)
据我所知,这是不可能的。请记住,MediaWiki的模板引擎不是编程语言:)
但是,如果不知道确切的用例,您可以通过定义默认值来解决问题。而不是:
{{#if {{{arg}}} | {{{arg}}} | default }}
你可以这样做:
{{{arg|default}}}
答案 2 :(得分:0)
安装Scribunto扩展名并将模板转换为调用Scribunto模块的简单包装器。 Scribunto模块是Lua脚本,可以访问所有参数,无论它们是否已在包装器模板的wiki文本中声明。