Обнуление количества всего товара на складе при импорте CML

#
Re: Обнуление количества всего товара на складе при импорте CML
Цитата:
Я бы не отказался, если бы вы привели пример кода, который обнулит все остатки по всем складам в контроллере импорта CML.

Этот момент является очень актуальным.
#
Re: Обнуление количества всего товара на складе при импорте CML
HostCMS,
Т.е. на текущий момент, мне придется выгружать в xml все товары, чтобы обновить их количество на сайте? У меня товаров 30000. Ни один хостинг не разрешит столько времени работать скрипту, чтобы импортировать такое количество товаров.
Модератор
#
Re: Обнуление количества всего товара на складе при импорте CML
amspeople,
чтобы именно при импорте из CML - да, в CML нет какой-либо команды, которая обнуляла бы всем остатки в 0.
Можно это сделать SQL-запросом, но, как я понимаю, этот не ваш случай.
#
Re: Обнуление количества всего товара на складе при импорте CML
HostCMS писал(а):
Можно это сделать SQL-запросом, но, как я понимаю, этот не ваш случай.

Так я вас просил дать код, который нужно добавить в класс Shop_Item_Import_Cml_Controller, чтобы обнулить все остатки по всем складам перед импортом offers.xml. Разве это не вариант?
SQL-запрос тоже сгодится на время! Рабочих решений то у меня сейчас вообще нет.
Модератор
#
Re: Обнуление количества всего товара на складе при импорте CML
amspeople,
вам ничего нельзя добавлять в Shop_Item_Import_Cml_Controller, это часть модуля системы, редактирование которых не допускается.
#
Re: Обнуление количества всего товара на складе при импорте CML
HostCMS писал(а):
редактирование которых не допускается.

Это по какой причине? Что я могу что-то неправильно сделать? Запрещено Правилами использования CMS? Или еще какие причины?
Напишите тогда, пожалуйста, SQL-запрос. Хоть что-то будет.
Модератор
#
Re: Обнуление количества всего товара на складе при импорте CML
В Shop_Item_Import_Cml_Controller есть событие:
Core_Event::notify('Shop_Item_Import_Cml_Controller.onBeforeImport', $this);


вешаете на него обработчик, в котором выбираете товары магазина (не забывайте выбор делить по N, чтобы не исчерпать память), для товаров выбираете остатки на складах
$aShop_Warehouse_Items = $oShop_Item->Shop_Warehouse_Items->findAll();

и в цикле обнуляете.
Модератор
#
Re: Обнуление количества всего товара на складе при импорте CML
Информация о системе событий: http://www.hostcms.ru/documentation/modules/core/events/
#
Re: Обнуление количества всего товара на складе при импорте CML
HostCMS,
Сложновато будет разобраться в ваших API. Тем более знаком с CMS пару недель. Печаль и грусть.
SQL-запрос не напишите я так понял?
Модератор
#
Re: Обнуление количества всего товара на складе при импорте CML
amspeople,

UPDATE `shop_warehouse_items` SET `count` = 0 WHERE `shop_warehouse_id` = 123


Вместо 123 указываете ID склада (поле "Код" слева от названия склада, в справочнике складов).
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Авторизация