Создание, продвижение сайтов
40-33-54

Пропустить импорт определённых записей в Feeds

14 января 2017

Два способа не импортировать определённые записи через Feeds:

Способ 1 — на стадии парсинга данных:

/**
 * Implements hook_feeds_after_parse().
 */
function MODULENAME_feeds_after_parse(FeedsSource $source, FeedsParserResult $result) {
  if ($source->id == 'my_importer_machine_name') {
    foreach ($result->items as $key => $item) {
      // Пропускаем импорт термина с идентификатором 123
      if ($item['tid'] == 123) {
        unset($result->items[$key]);
      }
    }
  }
}

Способ 2 — на стадии сохранения сущности:

/**
 * Implements hook_feeds_presave().
 */
function MODULENAME_feeds_presave(FeedsSource $source, $entity, $item) {
  if ($source->id == 'my_importer_machine_name') {
    // Пропускаем импорт термина с идентификатором 123
    if ($entity->tid == 123) {
      $entity->feeds_item->skip = TRUE;
    }
  }
}

Статьи