Если ваш вопрос задается «magento way», когда вы говорите «заказ выполнен», это означает, что его статус «завершен». Заказ со статусом «завершен» был заказан на веб-сайте, а затем выставлен счет и отправлен администратору.
Мой ответ основан на этой терминологии, что дает вам подсказки для изменения атрибута продукта после того, как заказ был выполнен (опять же, по-пурпурному).
Кодирование для вас не очень хорошая помощь и очень длинная, так что вот путь (по моему мнению):)
Создать модуль
(Google ваш друг для этого)
Прикрепите наблюдателя к этому модулю и заставьте его наблюдать событие «sales_order_save_after»
(Google ваш друг для этого)
В файле / методе наблюдателя получить заказ и его статус
$order = $observer->getEvent()->getOrder();
$orderStatus = $order->getStatus();
Если статус заказа «выполнен», создайте foreach, который обновляет атрибут, который вы хотите для всех элементов
Это даст одинаковое значение атрибута для всех продуктов. В этом примере все продукты для завершенного заказа будут переименованы в «Проданный продукт».
if ($orderStatus == 'complete') {
$items = $order->getAllItems();
foreach ($items as $item) {
$productsToUpdate[] = $item->getProductId();
}
$theAttributeToUpdate = 'name';
$theAttributeValue = 'Sold Product';
Mage::getSingleton('catalog/product_action')->updateAttributes($productsToUpdate, array($theAttributeToUpdate => $theAttributeValue), 0);
}
Этого должно быть достаточно, чтобы поставить вас на правильный путь.