我正在构建一个mediawiki信息框。我正在使用基于标准表的信息框而不是导入各种模板和CSS功能,以及维基百科正在使用的扩展。
信息框中的一个字段是指向各种维基类别的链接。我想将链接代码保留在模板中,因此源文章只能将类别名称列为信息框的参数值。
例如,我的模板目前包含
<tr>
<th>Some Categories</th>
<td>[[:Category:{{{category_name}}}|{{{category_name}}}]]</td>
</tr>
如果我在信息框声明中的源文章中输入类别名称,则可以正常工作:
| category_name = Cat-1
在这种情况下,文章会显示一个信息框,其中包含指向Cat-1类别的链接。
但是我找不到如何在源文章中包含多个类别条目,并允许它们分别链接到每个条目。使用此信息框的文章可以声明这些类别中的一到八个。
我是否需要导入所有维基百科风格的CSS信息框模板才能实现这一目标,还是可以使用简单的基于表格的信息框完成?
答案 0 :(得分:1)
您需要添加与要传递给模板的最大类别名称数量相同的模板参数以及test for their being defined
因此,您的模板代码可能类似于
<td>[[:Category:{{{cat1}}}|{{{cat1}}}]]<!--
-->{{#if: {{{cat2|}}} |, [[:Category:{{{cat2}}}|{{{cat2}}}]] |}}<!--
-->{{#if: {{{cat3|}}} |, [[:Category:{{{cat3}}}|{{{cat3}}}]] |}}</td>
等。这是Scribunto / Lua模板之前的常用策略,它可以循环访问数据。