Обновление существующих терминов по tid (Feeds)
14 января 2017
Feeds не умеет обновлять термины по tid, только по name. Поэтому если в словаре есть термины с одинаковыми именами, то возникнут проблемы.
Чтобы обновлять существующие термины по tid, нужно:
1. Обновить Feeds до dev версии от 02.12.2014 или свежее.
2. В настройках процессора выбрать опцию Update existing terms:
3. В маппинг помимо tid добавить name с опцией Used as unique (в файле импорта этого поля быть не должно):
Поле description не обязательно, добавлено для примера.
4. Создать модуль с кодом:
/** * Implements hook_feeds_after_parse(). */ function MODULENAME_feeds_after_parse(FeedsSource $source, FeedsParserResult $result) { if ($source->id == 'машинное_имя_импортера') { foreach ($result->items as &$item) { $item['name'] = taxonomy_term_load($item['tid'])->name; } } }
Можно вместо кода воспользоваться Feeds Tamper.
5. Сбросить кэш.
Profit.
Пример csv файла:
tid;description 1;description for term 1 2;description for term 2