现有属性代码的is_required更新


8

我正在考虑将is_required数据更新为现有“区域”属性代码的“ 1”。

select * From eav_attribute where attribute_id = '28'

但是,我想知道这里的做法是什么。是否只是创建SQL语句并更新安装脚本中的特定记录就可以了?也许有更好的方法。


哪个地区属性?订购或地址?
Bijal Bhavsar 2014年

订单和地址=)
Leongelis 2014年

好的,我已经在以下答案中添加了代码:)
Bijal Bhavsar 2014年

Answers:


11

创建SQL脚本以更新区域属性

$installer->startSetup();
/*** Update customer address attributes*/
$installer->updateAttribute('customer_address', 'region', 'is_required', true); 

/*** Update order address attributes*/
$installer->updateAttribute('order_address', 'region', 'is_required', true);  
$installer->endSetup();

希望以上代码对您有所帮助


你能用例子深入解释它吗?
Ami Kamboj 2014年

4

我写此更新只是分享我的研究成果,希望能对那里的人有所帮助。

config.xml

<config>
    <modules>
        <Package_Module>
            <version>0.0.2</version>
        </Package_Module>
    </modules>
    <global>
        <resources>
            <module_setup>
                <setup>
                    <module>Package_Module</module>
                    <!-- 
                     Create a Switchable Installer Script 
                     This class is incredibly handy in case you need different setup classes 
                     -->
                    <class>Package_Module_Model_Resource_Setup</class> 
                </setup>
            </module_setup>
        </resources>
    </global>
<config>

自定义安装程序类:Package_Module_Model_Resource_Setup

class Package_Module_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup
{
    public function getCatalogResourceSetup()
    {
        return new Mage_Catalog_Model_Resource_Setup('module_setup');
    }
    public function getCustomerResourceSetup()
    {
        return new Mage_Customer_Model_Resource_Setup('module_setup');
    }
    public function getCustomerEntitySetup() 
    {
        return new Mage_Customer_Model_Entity_Setup('module_setup');
    }
}

升级脚本:mysql4-upgrade-0.0.1-0.0.2.php

<?php
/* @var $installer Package_Module_Model_Resource_Setup */
$installer = $this->getCustomerEntitySetup();

$installer->startSetup();
/*** Update customer address attributes*/
$installer->updateAttribute('customer_address', 'region', 'is_required', 1);

$installer->endSetup();

特此分享“ Switchable Installer Script”的精彩文章。源链接:inchoo.net


0

创建sql更新脚本并运行updateAttribute函数。

$installer = $this;
$installer->startSetup();
$installer->updateAttribute('entity_type', 'your_attribute_id', 'required', 1);
$installer->endSetup();

使用此功能,您可以更新任何属性的属性。


0

我正在尝试找到一些脚本,但是仍然需要该属性。正确的参数是“ is_required”而不是“ required”。 $installer->updateAttribute('entity_type', 'your_attribute_id', 'is_required', 1);


0

下面的代码将使用sql脚本更新属性

$installer = $this;
$this->updateAttribute('customer_address', 'region', 'is_required' ,1); 

0

您可以在文件中找到updateAttribute()函数的定义 app\code\core\Mage\Eav\Model\Entity\setup.php

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.