MediaWiki模板用于过滤表格内容

时间:2015-06-30 04:24:50

标签: mediawiki mediawiki-templates

我在ShoutWiki上有一个MediaWiki网站。我想创建一个返回表的模板,其中的行按模板的单个参数进行过滤。该表可以以任何格式存储。它将有三列,只有当模板的参数是行中第一个单元格中文本的子字符串时,我才想显示行。搜索需要区分大小写。

有针对此的JavaScript解决方案,但如果可能的话,我想在服务器上执行此操作。

1 个答案:

答案 0 :(得分:0)

如果您没有特殊的扩展程序处理(例如Scribunto添加 Lua 支持,因此是MediaWiki的真正编程语言),您需要将每一行封装到一个自己的模板调用中。

示例:

模板:FilteredRow

{{#ifeq:{{{1|}}}|{{{2|}}}|<tr><td>{{{2|empty row}}}</tr></td> }}

模板:A_Table

<table>
{{FilteredRow|1={{{filter|}}}|2=some content here}}
{{FilteredRow|1={{{filter|}}}|2=some content here in row 2}}
{{FilteredRow|1={{{filter|}}}|2=some content here in row 3}}
{{FilteredRow|1={{{filter|}}}|2=baz}}
</table>

使用:

{{A_Table|filter=baz}}

结果:

<table>
<tr><td>baz</td></tr>
</table>

使用Scribunto,您只需将表保存为HTML表,JSON或您找到的任何解析器。请注意,MediaWiki和用户名称空间is being worked on中的JSON支持(识别,格式化,验证)。