Впервые столкнулся с Magento. Подскажите как программно в каталоге товаров открыть товар для редактирования и сохранить его.
Предыстория такая. В базе данных программно напрямую (не Magento style) обновлены цены, но ценовые правила при этом не применились. Когда открываешь товар для редактирования и сохраняешь - ценовые правила применяются.
Конечная цель - обновить цены для ряда товаров по артикулам. Побочная цель - разобраться в основах разработки для Magento. Возможно есть более правильное решение конечной задачи. Буду признателен за любые советы.
В Magento для ускорения генерации страниц используется не только кэширование, но и индексирование данных.
Скорее всего вы изменили цены в основной таблице, но индексы не перестроили. При сохранении каждого товара перестраиваются индексы именно для него.
Попробуйте перестроить все индексы и не мучиться с сохранением (System - Index Management).
P.S. В идеале избегать изменения данных в таблицах минуя модели, пока вы не будете понимать на что это повлияет и делать соответствующие изменения. Это хоть и позволяет существенно ускорить обновление данных, но нужно много чего учитывать, чтобы потом всё работало корректно.
Перестройка индексов не помогает.
Я делал вот так
"UPDATE catalog_product_entity_decimal SET value=$price_1 WHERE entity_id=$entity_id AND attribute_id=75";
Соответственно в этой таблице цены поменялись и всё.
Вы всё правильно говорите, но мне пока трудно понять как через модели изменять данные. Как найти именно тот код, который должен исполняться?