【问题标题】:MediaWiki template to filter table contents用于过滤表格内容的 MediaWiki 模板
【发布时间】:2015-06-30 04:24:49
【问题描述】:

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

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

【问题讨论】:

    标签: mediawiki mediawiki-templates


    【解决方案1】:

    如果您没有特殊的扩展处理(例如 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 支持(识别、格式化、验证)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      相关资源
      最近更新 更多