2014-01-20 5 views
2

Я хочу обновить атрибут описания продукта после сохранения продукта. Для этого я использую наблюдателя под названием catalog_product_save_after, и в зависимости от некоторого условия я создаю описание для продукт и я спасу описание продукции следующего кодаНевозможно установить атрибут продукта программно в magento через observer

product->setDescription(); 
product->save(); 

проблема, когда я звоню product->save(); сайт загружается и загрузка позже я обнаружил, что product->save(); этой функции снова вызывая catalog_product_save_after. поэтому он входит в бесконечный цикл.

Пожалуйста, помогите мне установить описание для продукта.

ответ

1

Вариант 1:
Вы можете использовать catalog_product_save_before и просто использовать $product->setDescription('something') (без сохранения).
Вариант 2
Сделайте свой наблюдатель включенным только один раз.

function doSomething($observer) { 
    //some code here 
    $id = $product->getId(); 
    if (!Mage::registry('observer_already_executed_'.$id)) { 
     //do your magic here 
     Mage::register('observer_already_executed_'.$id, 1); 
    } 
} 
+0

спасибо, что это сработало для меня. –

Смежные вопросы