Drupal Feeds. Удаление содержимого поля при обновлении

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

Аватар пользователя kstukstu kstukstu 30 апреля 2015 в 13:24

Есть текстовое поле у товара, который ранее импортировался из CSV с помощью Feeds. У товара есть характеристика (текстовое поле), которое соответственно тоже добавилось. Обновления производятся с помощью все того же Feeds. Как быть если необходимо убрать эту характеристику? Если в файле импорта просто удаляем ее, в товаре это поле не удаляется, а пропускается. Т.е. на сайте характеристика остается, когда в файле импорта ее уже нет.

Комментарии

Аватар пользователя kstukstu kstukstu 30 апреля 2015 в 22:45

Так и делаю... В файле импорта это поле пустое. Включено обновление нод со сбросом хеша. Но вместо того чтобы заменять поле пустым значением, фидс пропускает вообще это поле.

Аватар пользователя kstukstu kstukstu 1 мая 2015 в 1:54

Решил следующим образом:

function hook_feeds_presave(FeedsSource $source, $entity, $item) {
  if ($entity->type == 'display') {
    if(isset($item['тип']) && $item['тип'] == '') {
      unset($entity->field_type['und'][0]['value']);
    }
  }
}