我想向产品添加属性,并且我想以编程方式执行此操作。所以我加了一个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那些启发......
谢谢
这是正确的,我忘了提Setup类的config.xml中: Company_Module Mage_Eav_Model_Entity_Setup 非常感谢安德斯 –
frinux
2010-08-12 07:03:36
不要!因为产品/目录属性中的_prepareValues()方法,使用'Mage_Catalog_Model_Resource_Setup'而不是'Mage_Eav_Model_Entity_Setup'关于产品/目录属性,或者它们的附加属性**不会被设置(即“is_searchable”,“is_visible_on_front”等)设置类。 – nevvermind 2012-04-25 14:59:48
如果您需要使用两者,该怎么办? – surfer190 2016-07-29 08:58:54