[Решено] Ubercart. Обновление цен товаров

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

Аватар пользователя lopata24 lopata24 28 сентября 2010 в 11:02

Добрый день, сообщество.
Уже пару недель дружу с ubercart и с горем пополам в один момент смог помощью модуля Node Import залить все желаемые 7000 товаров на сайт.
Но вот беда, таблица изначально закачиваемая немного поистрепалась, а именно: названия нескольких сотен товаров было изменено, на своих местах остался только SKU.
А теперь вот заказчику приспичило цену уменьшить у товаров. Умом понимаю, что нужно либо пользоваться чем-то отсюда (но мой английских худ), либо может быть есть какой-то простой модуль для изменения цены прямо запуском из drupal

Отсюда 2 вопроса для тех, кто это все уже хорошо понимает или знает путь проще.

1) Как обновить цену у всех 7000 товаров по SKU? По шагам, релизам модуля node import, патчам...
2) Есть ли альтернативное решение?

Заранее спасибо!

Комментарии

Аватар пользователя lopata24 lopata24 28 сентября 2010 в 12:28

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

Аватар пользователя marazmus marazmus 28 сентября 2010 в 12:34

Если смотреть поверхностно (я не программист особо), то там делов на 1 запрос (но повторенный много раз Smile ) - просто тупой прямой апдейт таблицы uc_products, с обновлением поля sell_price, в качестве where-условия берем SKU (model aka артикул) или ID ноды. Берем csv-файл, который умеют делать множество программ, от экселя до 1С, пробегаемся по нему и делаем апдейты. похапе-файл на 10-15 строк, если быдлокодить Smile Если писать с понтом на аяксах, с прогресс-баром и задержками для отработки запросов, то это уже нужен толковый веб-похапе-аякс-программер Smile

Аватар пользователя lopata24 lopata24 28 сентября 2010 в 13:08

marazmus
Спасибо, но проблема именно в "кодить". Не умею кодить. Руки вот вроде растут оттуда: править, мыслить, крутить умею. Но вот тут тяжело что-то сложилось.

как в том же node import сделать эту самую проверку на where-условие по SKU и на обновление поля sell_price?

Аватар пользователя marazmus marazmus 28 сентября 2010 в 13:15

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

Аватар пользователя swingsss@drupal.org swingsss@drupal.org 28 сентября 2010 в 18:47

Занимаюсь этой же проблемой пока дошел до следующего: модуль dev[module=node_import] пропатченный и модуль [module=node_import_update]. Он обновляет только по полю имени, поэтому как подсказали здесь заменил в продуктах вместо имени - sku, а для имени свое CCK поле. Ишу как можно в зависимости от 0 1 пополнять или обнулять stock для [module=uc_out_of_stock](кстати если есть идею по этому поводу поделитесь :)). Еще одно node import обновляет все поля и если поле пустое то вместо того что бы оставить прошлое он обнуляет его.

Аватар пользователя lopata24 lopata24 29 сентября 2010 в 11:26

WiseMan
Спасибо, пробовал вчера еще... где-то стопорился, а сегодня попробовал оттуда первую версию

и все отлично пока получилось. Попробовал правда на десятке товаров, но в ближайшее время попробую на своих 7к

Спасибо. Пишу "решено".

upd. Для тех, кто хочет сразу решение - к этому не близко идти, но можно попробовать
1 - читать, патчить тут
2 - попробовать без варианта 1, сразу это
3 - а мне помогла вот это

Аватар пользователя tempo tempo 10 ноября 2015 в 11:48

Пропатчил uc_stock_update (1-ой версии) под 7-ой друпал (ubercart - 7.3), оставил только обновление прайса. Работает как с числовыми, так и текстовыми кодами товаров, русские коды тоже понимает.