问题
i followed some tutorials an done this code this is install.0.1.0.php :
$installer = $this;
$installer->startSetup();
$allowCP = array(
'group' => 'Prices',
'type' => 'text',
'attribute_set' => 'Default',
'backend' => '',
'frontend' => '',
'label' => 'Allow Custom Price',
'input' => 'select',
'option' => array(
'value' => array(
1 => 'Yes',
0 => 'No',
)),
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => '1',
'searchable' => false,
'filterable' => true,
'comparable' => false,
'visible_on_front' => true,
'visible_in_advanced_search' => true,
'used_in_product_listing' => true,
'unique' => false,
'apply_to' => '', // Apply to All product type
'class' => ''
);
$installer->addAttribute('catalog_product', 'allowcustomprice', $allowCP);
$minCP = array(
'group' => 'Prices',
'type' => 'int',
'attribute_set' => 'Default',
'backend' => '',
'frontend' => '',
'label' => 'Min Custom Price',
'input' => 'text',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => true,
'searchable' => false,
'filterable' => true,
'comparable' => false,
'visible_on_front' => true,
'visible_in_advanced_search' => true,
'used_in_product_listing' => true,
'unique' => false,
'apply_to' => '', // Apply to All product type
'class' => ''
);
$installer->addAttribute('catalog_product', 'mincustomprice', $minCP);
$installer->endSetup();
this is config.xml :
<modules>
<WebDirect_CustomPrice>
<version>0.1.0</version>
</WebDirect_CustomPrice>
</modules>
<!-- ******************************** -->
<global>
<helpers>
<customprice>
<class>WebDirect_CustomPrice_Helper</class>
</customprice>
</helpers>
<models>
<customprice>
<class>WebDirect_CustomPrice_Model</class>
</customprice>
</models>
<resources>
<customprice_setup>
<setup>
<module>WebDirect_CustomPrice</module>
<class>WebDirect_CustomPrice_Model_Resource_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customprice_setup>
<customprice_write>
<connection>
<use>core_write</use>
</connection>
</customprice_write>
<customprice_read>
<connection>
<use>core_read</use>
</connection>
</customprice_read>
</resources>
</global>
and thats the class Mymodule/Model/Resource/Setup.php :
class WebDirect_CustomPrice_Model_Resource_Setup extends Mage_Eav_Model_Entity_Setup {
}
when compile this thing nothing displayed i can't see where the hell is the error
Is there any error in this shit ?!!!!!!
回答1:
try
<?php
$installer = $this;
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$installer->startSetup();
$installer->addAttributeGroup('catalog_product', 'Default', 'Prices', 1000);
$installer->addAttribute('catalog_product', 'custom_price', array(
'group' => 'Prices',
'label' => 'Apply Custom price',
'type' => 'int',
'input' => 'boolean',
'source' => 'eav/entity_attribute_source_boolean',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => 1,
'required' => 1,
'user_defined' => 1,
'searchable' => 0,
'filterable' => 0,
'comparable' => 0,
'visible_on_front' => 0,
'visible_in_advanced_search' => 0,
'unique' => 0,
'default' => 0
));
$setup->updateAttribute('catalog_product', 'custom_price', 'is_used_for_promo_rules',1);
$setup->updateAttribute('catalog_product', 'custom_price', 'is_used_for_price_rules',1);
$installer->endSetup();
i think you forgot to define Attribute Group for your attribute.
hope this help
来源:https://stackoverflow.com/questions/22409317/magento-adding-attribut-using-install-script