Как запретить добавление пустых терминов таксономии при импорте нод?

Главные вкладки

Аватар пользователя erbe erbe 16 июня 2012 в 18:20

Ноды импортируются с помощью модуля feeds. В том числе и поля с терминами таксономии. Если в файле csv соответствующее поле пустое, то в словаре и в ноде также добавляется пустой термин. Как сделать, чтобы этого не происходило?
Установлен также feeds tamper. Возможно с помощью него можно задать правило, но как?

Комментарии

Аватар пользователя univerico univerico 25 июля 2018 в 10:44

Здравствуйте! Как запретить не знаю, но есть три идеи, как их быстро удалить или снять с публикации, сейчас нет времени пробовать, но пока напишу, даже если окажутся не совсем рабочими, возможно натолкнут на мысль.
1)Можно попытаться сделать из множества лишних темринов один в полуавтоматическом режиме и удалить его вручную
а)в самой таблице перед созданием CSV файла заполнить пустые ячейки каким-то одинаковым символом или набором символов автоматически, если есть такая функция в программе, с которой вы работаете, и потом слить (соединить) все эти "пустые" (теперь уже не совсем пустые, а одинаково переименованные) термины в один с помощью term_merge, вместо множества пустых будет один, и его можно будет легко удалить.
б)или же можно с помощью tamper
Find replace заменить все пустые на какой-то символ и потом также с terme_merge...
в)еще вопрос: у Вас какая настройка для название термина? оно как заголовок или как обычное поле? модуль title включен?
Cмотря какие у Вас настройки, можно попытаться так настроить, чтобы все пустые ячейки расценивались не как разные термины, а как один (в том числе с помощью настройки уникальности на странцие соответсвия Used as uniq, включения опции update existing terms в настройках импортера) и импорту по имени (есть настройка, где можно выбрать, по имени или по Id идентифицировать термин, нужно выбрать имя) и тогда у Вас получится один термин, просто последнее импортированная пустая ячейка будет обновлением термина.
2)с помощью feeds rules как-то попытаться настроить
3)удалить в полуавтоматическом режиме все пустые термины
а) через командную строку
https://www.drupal.org/project/drush_delete/issues/2890775
(пока это направление сыровато, можно удалить все термины, с поштучным или по имени удалением пока сложнее)
б)с помощью term managment отсортировать и перенести все пустые термины в другой словарь и удалить этот словарь с пустыми терминами

Но конечно просто запретить импорт пустых было бы проще.

Аватар пользователя univerico univerico 25 июля 2018 в 11:33

продолжаю изучать эту тему (старый коммент уже не отредактировать, придется добавить новый), для ряда схожих задач
в разделе Список List есть фильтр Filter empty items