Как сделать поле Model/SKU уникальным для feeds+uc_feeds

Как сделать поле Model/SKU уникальным для feeds+uc_feeds divan1 ср, 01 ноя 2017 - 16:55

Правим файл uc_feeds/uc_feeds.module, функция uc_feeds_feeds_processor_targets_alter(). Элемент массива $targets['model'] должен выглядеть так:
    $targets['model'] = array(
      'name' => t('UC: Model/SKU'),
      'callback' => 'uc_feeds_set_target',
      'description' => 'Ubercart:' . t('Model/SKU'),
      'optional_unique' => TRUE,
      'unique_callbacks' => array('uc_feeds_sku_mapper_unique'),
    );

Так же добавляем функцию обратного вызова:
function uc_feeds_sku_mapper_unique(FeedsSource $source, $entity_type, $bundle, $target, array $values) {
  $nid = db_query("SELECT nid FROM {uc_products} WHERE model = :model", array(':model' => $values[0]))->fetchField();
  return $nid;
}