ฉันกำลังทำงานเพื่อสร้างตัวเลือกที่กำหนดเองสำหรับผลิตภัณฑ์ของฉันโดยอัตโนมัติทุกครั้งที่มีการสร้างผลิตภัณฑ์ สิ่งที่ฉันได้มาถึงตอนนี้คือผู้สังเกตการณ์ที่ยิง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()
ด้วยการสร้างตัวเลือกที่กำหนดเอง 2 ตัวแม้ว่าฉันจะตรวจสอบเพื่อยืนยันครั้งที่ 2 ที่เหตุการณ์เกิดเพลิงไหม้คำสั่งส่งคืนถูกเรียกในลูป foreach
ถ้าฉันเอามันออกมา ไม่มีการสร้างตัวเลือกที่กำหนดเอง
มีคนบอกฉันว่าฉันทำอะไรผิดหรือเปล่า?
ฉันทำงานกับ Magento 1.7