제품을 만들 때마다 제품에 대한 사용자 지정 옵션을 자동으로 만드는 중입니다. 지금까지 내가 얻은 것은 catalog_product_save_before
이벤트에서 발생 하고 다음 코드를 실행 하는 관찰자입니다 .
//check that we haven't made the option already
$options = $product->getProductOptions();
foreach ($options as $option) {
if ($option['title'] == 'Auto Date & Time' && $option['type'] == 'date_time' && !$option['is_delete']) {
//we've already added the option
return;
}
}
$options[] = array(
'title' => $product->getDateLabel(),
'type' => 'date_time',
'is_require' => 1,
'sort_order' => 0,
'is_delete' => '',
'previous_type' => '',
'previous_group' => '',
'price' => '0.00',
'price_type' => 'fixed',
'sku' => ''
);
$product->setProductOptions($options);
$product->setCanSaveCustomOptions(true);
//this line doesnt make sense here, but it works ... kinda
$product->save();
$product->save()
in을 그대로두면 이벤트가 두 번째로 발생하는지 확인한 후에도 foreach 루프에서 return 문이 호출되지만 2 개의 사용자 정의 옵션이 생성됩니다.
내가 꺼내면 사용자 정의 옵션이 작성되지 않습니다.
누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?
Magento 1.7과 협력하고 있습니다