Расширение: внешние данные и категории - PullRequest
0 голосов
/ 30 ноября 2018

Ситуация

Я получаю данные из CSV-источника, используя external data -extension для mediawiki:

{{#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}}}]]

Задача

На странице, на которой я использую этот шаблон, фактически отображаютсякатегории имен внизу, но сама страница не видна на странице категорий (я, конечно, выполнил задания).

Я предполагаю, что это как-то связано с тем, что имя категорииотсутствует в вики-тексте, но извлекается из внешнего источника.

Есть предложения, как я могу действительно добавить категории?

1 Ответ

0 голосов
/ 18 декабря 2018

Вы смотрели в CategoryHook?

CategoryHook, к которому вы можете добавить правила автоматической категоризации в LocalSettings.php (после включения CategoryHook.php - см. # Установка).Ниже приведен пример, который добавляет статьи в категорию: Статьи, содержащие деревья, если в их содержании есть {{#tree: ...}} функции синтаксического анализатора.

$wgHooks['CategoryHook'][] = 'wfCategoriseTrees';

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

Существует несколько расширений, вы можете захотетьчтобы попробовать это один

...