Magento 使用安装脚本添加属性 [英] Magento adding attribut using install script

查看:15
本文介绍了Magento 使用安装脚本添加属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我按照一些教程编写了这段代码.

I followed some tutorials and wrote this code.

这是 install.0.1.0.php:

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();

这是 config.xml:

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>

这是 Mymodule/Model/Resource/Setup.php 类:

And this is the class Mymodule/Model/Resource/Setup.php:

class WebDirect_CustomPrice_Model_Resource_Setup extends Mage_Eav_Model_Entity_Setup {
}

当我编译这段代码时,什么都没有显示,所以我看不出有没有错误.

When I compile this code, there is nothing displayed, so I can't see if there is any error.

推荐答案

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.

希望对您有所帮助

这篇关于Magento 使用安装脚本添加属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆