Здравствуйте! Импортирую товары при помощи модуля feeds через файл csv и столкнулся со следующей проблемой. Делаю поле "UC: Model/SKU" уникальным т.е. это артикул товара. В настройках выбрал "Replace existing nodes".
При импорте товаров с одинаковым артикулом, создаются еще записи с таким же артикулом, вместо того чтобы заменить уже имеющиеся значения.
Если же сделать уникальным полем заголовок, тогда при импорте товаров с одинаковым заголовком, значения старого товара заменятся на новые без создания новых отдельных записей. Мне же нужно чтобы товары идентифицировались по артикулу а не по заголовку. Как можно решить эту проблему?
Вложение | Размер |
---|---|
catt.png | 9.6 КБ |
Комментарии
странно конечно.. а что в журнал пишется? все норм? можно попробовать ску записывать в GUID и его делать уник.
Спасибо так и сделал! Только получается, что в файле импорта должны фигурировать два одинаковых значения SKU и Артикул.
Нет. Это не обязательно.
Вы нашли решение против дублирования товаров?
Странно получается. Я использую feeds import вместе с feeds tamper. Tamper Explode делает массив из строки артикулов через запятую. В самом импортере GUID назначен уникальным но товары все равно дублируются. У кого-то есть идеи, в чем может быть проблема?
Удалось как то решить проблему дублирования?
Судя по всему это не в Feeds проблема, он своё делает чётенько. Как оказалось всё решается быстро в самом представлении в расширенных настройках "Настройки запроса: Настройки"
отмечаем галочкой "Уникальность"
Далее в "Критерии фильтрации" добавил новый фильтр(к уже имеющемуся фильтру общего вывода товаров) "Содержимое: Ссылка:url (содержит слово ..тра.ля.ля..)
и по этому признаку всё что мне нужно выводится уникальным(естественно у каждого свои будут признаки:)).
Вопрос! А как вы сделали поле SKU уникальным?
http://www.drupal.ru/node/111191#comment-614931
Я могу вам показать как сделать, что бы у вас появилась галка как в первом посте на скриншоте. Но толку это не дает, о чем и говорит автор.
А покажите, пожалуйста, может, получится потом помочь в решении основного вопроса
Кстати, должно все работать, по идее, если выбирать не "Replace existing nodes", а "Update existing nodes"
В файле uc_feeds.module делаете так:
<?php
$targets['model'] = array(
'name' => t('UC: Model/SKU'),
'callback' => 'uc_feeds_set_target',
'description' => 'Ubercart:' . t('Model/SKU'),
'optional_unique' => TRUE,
);?>
Да, проблема не решается. У меня есть идея, как решить, сейчас попробую и отпишусь.
Там не все так просто...
Не просто, но эту задачу можно решить, добавив поле, которое будет дублировать значение SKU. Забавно, но такую задачу решает Computed field, который создает поля, не желающие импортироваться через feeds.
Решил проблему таким образом - создал текстовое поле, через phpmyadmin присвоил существующим товарам в это поле те же значения, что и у поля SKU. Задал в настройках импорта проверку на уникальность нового поля. Все работает, дублей не создается. Единственный минус - при добавлении товара нужно заполнять еще одно поле таким же значением, что и SKU. А этим недостатком можно пренебречь.
Рекомендовано создать хук. http://www.drupal.ru/node/111191#comment-615312
Рекомендовано создать хук. http://www.drupal.ru/node/111191#comment-615312