情况
我使用mediawiki:的external data
扩展从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文本中没有类别名称,而是从外部来源获取的。
有什么建议我可以真的添加类别吗?
自从发布这个问题以来,扩展已经被广泛地重新考虑了。在您的示例中,当前版本会立即将页面添加到类别中;我查过了。
我建议您升级扩展和MediaWiki。
你看过CategoryHook吗?
CategoryHook,您可以将自动分类规则添加到LocalSettings.php中(在包括CategoryHook.php之后——请参阅#安装(。下面是一个将文章添加到Category的示例:如果包含树的文章的内容中有任何{{#tree:…}}语法分析器函数,则这些文章包含树。
$wgHooks['CategoryHook'][] = 'wfCategoriseTrees';
function wfCategoriseTrees(&$parser,&$text,&$categories,$sortkey) {
$categories['Articles containing trees']
= array(preg_match('/\{\{#tree:/i',$text),$sortkey);
return true;
}
有几个扩展,你可能想试试这个