我試圖在事件catalog_product_save_before的觀察者中保存產品,但不知何故,管理面板只是在加載,它沒有保存產品。
誰能建議一下這個問題的解決方案?
/***
*執行觀察者
*
* @param MagentoFrameworkEventObserver $observer
* @return void
*/
public function execute()
MagentoFrameworkEventObserver $observer
) {
$_product = $observer->getProduct(); //你將得到產品物件。
$_sku = $_product->getSku(); //對于sku來說
$_product->setSku("testNew1"/span>)。
$_product-> save();
}
uj5u.com熱心網友回復:
這種方法將導致一個回圈。因為catalog_product_save_before在每個產品保存之前被派發。在這個觀察者中,你做了$_product->save();,這將再次派發這個事件并在這個觀察者中再次呼叫save()方法,等等。
由于你在保存之前在觀察者中得到了$product,它應該只是用來調整產品物件,之后它將被保存。
所以洗掉$_product->save();這一行,它應該可以正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/320569.html
標籤:
