magento 2 catalog_product_save_before 无法保存产品但一直在加载
magento 2 catalog_product_save_before unable to save product but keeps loading
我正在尝试将产品保存在事件 catalog_product_save_before
的观察者中,但不知何故管理面板只是在加载,并没有保存产品。
任何人都可以为此提出解决方案吗?
/**
* Execute observer
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
*/
public function execute(
\Magento\Framework\Event\Observer $observer
) {
$_product = $observer->getProduct(); // you will get product object
$_sku = $_product->getSku(); // for sku
$_product->setSku("testNew1");
$_product->save();
}
这种方法会造成循环。因为 catalog_product_save_before 是在每次保存产品之前发送的。在这个观察者中你做 $_product->save();
这将再次调度这个事件并进入这个观察者再次调用 save()
方法,等等
当您在保存之前在观察器中获取 $product
时,它应该只是用来调整产品对象,然后它会被保存。
所以删除行 $_product->save();
它应该可以正常工作。
我正在尝试将产品保存在事件 catalog_product_save_before
的观察者中,但不知何故管理面板只是在加载,并没有保存产品。
任何人都可以为此提出解决方案吗?
/**
* Execute observer
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
*/
public function execute(
\Magento\Framework\Event\Observer $observer
) {
$_product = $observer->getProduct(); // you will get product object
$_sku = $_product->getSku(); // for sku
$_product->setSku("testNew1");
$_product->save();
}
这种方法会造成循环。因为 catalog_product_save_before 是在每次保存产品之前发送的。在这个观察者中你做 $_product->save();
这将再次调度这个事件并进入这个观察者再次调用 save()
方法,等等
当您在保存之前在观察器中获取 $product
时,它应该只是用来调整产品对象,然后它会被保存。
所以删除行 $_product->save();
它应该可以正常工作。