मैं उत्पादों में एक विशेषता जोड़ना चाहता हूं, और मैं इसे प्रोग्रामेटिक रूप से करना चाहता हूं। इसलिए मैं मेरा एक मॉड्यूल के लिए एक mysql से स्थापित-0.1.0.php जोड़ा, और मैं इस (मौजूदा उदाहरण से प्रेरित) कहा:प्रोग्रामेटिक रूप से एक विशेषता जोड़ने के लिए
<?php
$installer = $this;
$installer->startSetup();
$installer->addAttribute('catalog_product', 'collection', array(
'type' => 'varchar',
'backend' => '',
'frontend' => '',
'label' => 'Collection',
'input' => 'text',
'class' => '',
'source' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => false,
'required' => false,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'unique' => false,
'apply_to' => '',
'is_configurable' => false
));
$installer->endSetup();
सिंटेक्स ठीक लगता है, लेकिन जब यह के इस भाग को निष्पादित करने के लिए आता है कोड, यहां समस्या है:
Fatal error: Call to undefined method Mage_Core_Model_Resource_Setup::addAttribute() in /home/frleq/Dev/projets/AVIP/WORKSPACE/avip_magento/app/code/local/Smile/Magentaho/sql/magentaho_setup/mysql4-install-0.1.0.php on line 7
क्या आप देखते हैं कि क्या गलत है? कोड इतनी जटिल नहीं है, और यह मौजूदा और worling लोगों से प्रेरित है ...
आप
यह सही है, मैं config.xml में सेटअप वर्ग उल्लेख करना भूल गया: Company_Module Mage_Eav_Model_Entity_Setup धन्यवाद एक बहुत ऐन्डर्स –
frinux
नहीं करें! उत्पाद/कैटलॉग विशेषताओं या उनके अतिरिक्त विशेषताओं के संबंध में 'Mage_Eav_Model_Entity_Setup' के बजाय' Mage_Catalog_Model_Resource_Setup' का उपयोग करें ** ** _prepareValues () 'विधि में' _prepareValues () 'विधि के कारण ** ** सेट नहीं किया जाएगा (यानी "is_searchable", "is_visible_on_front" आदि) सेटअप कक्षा। – nevvermind
क्या होगा यदि आपको दोनों का उपयोग करने की आवश्यकता है? – surfer190