【问题标题】:Extension:External Data and Categories扩展:外部数据和类别
【发布时间】:2018-11-30 19:14:02
【问题描述】:

情况

我使用 external data-extension for mediawiki 从 CSV 源检索数据:

{{#get_web_data:url=http://example.com/names.txt|format=csv|data=name=1}}
{{#display_external_table:template=AddCat|data=1=name }}

文件names.txt 只包含名称,每行一个。

模板AddCat只是将第一个参数添加为类别:[[Category:{{{1}}}]]

问题

我使用此模板的页面实际上在其底部显示名称类别,但页面本身在类别页面上不可见(我当然运行了作业)。

我认为这与类别名称不存在于 wiki 文本中而是从外部来源获取的事实有关。

有什么建议可以真正添加类别吗?

【问题讨论】:

  • Template:AddCat的代码是什么?
  • [[类别:{{{1}}}]]
  • HotCat 是一个 JavaScript 程序,可帮助注册用户轻松删除、更改和添加类别到 Mediawiki 页面

标签: mediawiki mediawiki-extensions mediawiki-templates


【解决方案1】:

自从您发布此问题以来,该扩展程序已被广泛重构。当前版本立即将页面添加到类别中,在您的示例中;我查过了。

我建议您升级扩展和 MediaWiki。

【讨论】:

    【解决方案2】:

    你看过 CategoryHook 吗?

    CategoryHook,您可以将自动分类规则添加到 LocalSettings.php(在包含 CategoryHook.php 之后——请参阅#Installation)。以下是将文章添加到 Category:Articles 的示例,如果它们的内容中有任何 {{#tree:...}} 解析器函数。

    $wgHooks['CategoryHook'][] = 'wfCategoriseTrees';
    
    function wfCategoriseTrees(&$parser,&$text,&$categories,$sortkey) {
        $categories['Articles containing trees']
            = array(preg_match('/\\{\\{#tree:/i',$text),$sortkey);
        return true;
        }
    

    有几个扩展,你可以试试这个one

    【讨论】:

    • 我没有。但我认为这会有同样的问题:页面本身在任何地方都不包含相关文本。只有在从 web 服务获取数据后,文本才为人所知,因此可能没有“真正”添加类别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 2011-03-30
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多