Cập nhật is_Vquired cho Mã thuộc tính hiện có


8

Tôi đang suy nghĩ để cập nhật dữ liệu is_Vquired thành "1" cho mã thuộc tính "Vùng" hiện có.

select * From eav_attribute where attribute_id = '28'

Tuy nhiên, tôi tự hỏi thực hành ở đây là gì. Có phải chỉ đơn giản là tạo câu lệnh SQL và cập nhật bản ghi cụ thể đó trong tập lệnh thiết lập tốt không? Hoặc có lẽ có một cách tốt hơn.


Thuộc tính vùng nào? cho đơn hàng hay địa chỉ?
Bijal Bhavsar

cho đơn hàng và địa chỉ =)
Leongelis

ok Tôi đã thêm mã vào câu trả lời dưới đây :)
Bijal Bhavsar

Câu trả lời:


11

Tạo tập lệnh sql để cập nhật thuộc tính vùng

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

Tôi hy vọng mã trên sẽ giúp


Bạn có thể vui lòng giải thích nó sâu sắc với ví dụ.
Ami Kamboj

4

Tôi đang viết bản cập nhật này chỉ đơn giản là chia sẻ nghiên cứu của tôi và hy vọng có thể giúp đỡ ai đó ngoài kia.

cấu hình

<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>

Lớp thiết lập tùy chỉnh: Gói_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');
    }
}

Tập lệnh nâng cấp: mysql4-nâng cấp-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();

Dưới đây là một bài viết tuyệt vời chia sẻ về 'Tập lệnh cài đặt có thể chuyển đổi'. Liên kết nguồn: inchoo.net


0

Tạo tập lệnh cập nhật sql và chạy chức năng updateAttribution.

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

Với chức năng này, bạn có thể cập nhật bất kỳ thuộc tính nào.


0

Tôi đã thử một số tập lệnh được tìm thấy, nhưng thuộc tính vẫn được yêu cầu. Tham số chính xác là 'is_Vquired' và không 'bắt buộc'. $installer->updateAttribute('entity_type', 'your_attribute_id', 'is_required', 1);


0

Mã bên dưới sẽ cập nhật thuộc tính bằng cách sử dụng tập lệnh sql

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

0

bạn có thể tìm thấy định nghĩa của hàm updateAttribution () trong tệp app\code\core\Mage\Eav\Model\Entity\setup.php

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.