我尝试为所有产品添加新属性,在阅读了大量内容后,我得到了这段代码:
<?php
$installer = $this;
$installer->startSetup();
$attribute = array(
'group' => 'General',
'type' => 'boolean',
'source' => 'eav/entity_attribute_source_boolean',
'sort_order' => 7,
'label' => 'producto destacado',
'input' => 'select',
'class' => 'validate-number',
'backend' => '',
'frontend' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => true,
'filterable' => true,
'comparable' => true,
'visible_on_front' => true,
'visible_in_advanced_search' => true,
'unique' => false,
);
$installer->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'is_featured', $attribute);
$installer->endSetup();
但是这让我误以为:
致命错误:调用未定义的方法Mage_Core_Model_Resource_Setup :: addAttribute()in /Applications/MAMP/htdocs/app/code/local/Feliu/Featuredproducts/sql/feliu_featuredproducts_setup/install-0.1.0.php 在第34行
所以$installer->addAttribute()
无效,我不确定原因。我昨天为所有类别添加了一个属性,但它确实有效。
之前我尝试使用$installer->addAttribute('catalog_product', 'is_featured', $attribute);
,但我读到了使用Mage_Catalog_Model_Product::ENTITY
代替catalog_product
而我改变了它。我看到他们两个都有相同的错误信息。
我想我错过了一些重要的东西,但是现在我无法看到它是什么。 :-S
PD:我使用的是magento 1.9.3
答案 0 :(得分:1)
您使用的是错误的设置模型。 Mage_Core_Model_Resource_Setup
确实没有addAttribute
方法。
您应该使用Mage_Catalog_Model_Resource_Setup
向产品添加属性。您可以更改config.xml
文件中使用的设置模型:
<?xml version="1.0"?>
<config>
<global>
...
<resources>
<namespace_module_setup>
<setup>
<module>Namespace_Module</module>
<class>Mage_Catalog_Model_Resource_Setup</class>
</setup>
</namespace_module_setup>
</resources>
...
</global>
</config>
希望这会有所帮助。 :)