[РЕШЕНО] Удаление товаров перед импортом.

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

Аватар пользователя guitmann guitmann 14 августа 2013 в 17:24

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

Комментарии

Аватар пользователя guitmann guitmann 15 августа 2013 в 10:59

апдейт только обновляет существующие, суть в том, что при загрузке нового прайс-листа те товары, которые в прайсе отсутствуют, а на сайте присутствуют - удалялись.

Аватар пользователя sas@drupal.org sas@drupal.org 16 августа 2013 в 9:19

> при загрузке нового прайс-листа те товары, которые в прайсе отсутствуют, а на сайте присутствуют - удалялись.
Не удалялись а становились - "не опубликованными" или как модно писать - "архивными" - это быстрее. А те которые уже есть и в прайсе есть - обновлялись.

Аватар пользователя guitmann guitmann 20 августа 2013 в 9:36

да, придется вставлять код. осталось понять какой и куда)
нужно, чтобы перед загрузкой удалялись все материалы одного типа.

Аватар пользователя guitmann guitmann 20 августа 2013 в 17:51

Получилось сделать с помощью hook_feeds_before_import, вставил простой код для удаления нод.

function preimport_feeds_before_import($source) {
$query= db_query("SELECT nid FROM {node} AS n WHERE type = 'product'");
foreach ($query as $node) { node_delete($node->nid);
}
}

Вот только медленно это и если будут тысячи товаров то никакой сервер не спасет...

Аватар пользователя guitmann guitmann 21 августа 2013 в 9:31

а как то можно отделить обновленные товары от необновленных? чтобы необновленные отправить в "не опубликованно"