cancel
Showing results for 
Search instead for 
Did you mean: 

Обновить все товары программно

Обновить все товары программно

Впервые столкнулся с Magento. Подскажите как программно в каталоге товаров открыть товар для редактирования и сохранить его.

 

Предыстория такая. В базе данных программно напрямую (не Magento style) обновлены цены, но ценовые правила при этом не применились. Когда открываешь товар для редактирования и сохраняешь - ценовые правила применяются.

 

Конечная цель - обновить цены для ряда товаров по артикулам.  Побочная цель - разобраться в основах разработки для Magento. Возможно есть более правильное решение конечной задачи. Буду признателен за любые советы.

 

 

2 REPLIES

Re: Обновить все товары программно

В Magento для ускорения генерации страниц используется не только кэширование, но и индексирование данных. 

Скорее всего вы изменили цены в основной таблице, но индексы не перестроили. При сохранении каждого товара перестраиваются индексы именно для него. 

Попробуйте перестроить все индексы и не мучиться с сохранением (System - Index Management).

 

 

P.S. В идеале избегать изменения данных в таблицах минуя модели, пока вы не будете понимать на что это повлияет и делать соответствующие изменения. Это хоть и позволяет существенно ускорить обновление данных, но нужно много чего учитывать, чтобы потом всё работало корректно. 


ET Web Solutions
extensions, custom work, support

Re: Обновить все товары программно

Перестройка индексов не помогает.

 

Я делал вот так

 

"UPDATE catalog_product_entity_decimal SET value=$price_1 WHERE entity_id=$entity_id AND attribute_id=75";

 

Соответственно в этой таблице цены поменялись и всё.

 

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