जब भी कोई उत्पाद बनाया जाता है तो मैं अपने उत्पादों के लिए एक कस्टम विकल्प बनाने पर काम कर रहा हूं। अब तक मुझे जो मिला है वह एक पर्यवेक्षक है जो 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 बार सत्यापित करने के लिए जांच कर रहा हूं कि ईवेंट स्टेटमेंट को फॉयर लूप में कहा जाता है।
अगर मैं इसे बाहर निकाल लूं। कोई कस्टम विकल्प नहीं बनाए गए हैं।
क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं?
मैं Magento 1.7 के साथ काम कर रहा हूँ