Magento adding attribut using install script

时光总嘲笑我的痴心妄想 提交于 2019-12-01 08:07:50

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!