Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Magento:Thêm thuộc tính sản phẩm bằng tập lệnh cài đặt mô-đun

Đầu tiên, đây không phải là config.xml hợp lệ. Lớp thiết lập được cấu hình như sau:

<config>
    ...
    <global>
        ...
        <resources>
            ...
            <your_module_setup>
                <setup>
                    <module>Your_Module</module>
                    <class>Mage_Eav_Model_Entity_Setup</class>
                </setup>
            </your_module_setup>
            ...
        </resources>
        ...
    </global>
    ...
</config>

thay vì Mage_Eav_Model_Entity_Setup, bạn cũng có thể sử dụng lớp thiết lập của riêng mình nhưng nó phải kế thừa Mage_Eav_Model_Entity_Setup, vì vậy bạn có thể sử dụng addAttribute thay vì giả mạo các truy vấn SQL bằng tay.

Sau đó, tập lệnh thiết lập của bạn sẽ trông giống như sau:

$installer = $this;
$installer->startSetup();
/*
 * adds product unit attribute to product
 */
$installer->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'productunit_id', array(
    'label' => Mage::helper('productunits')->__('Quantity Unit'),
    'type' => 'int',
    'input' => 'select',
    'source' => SGH_ProductUnits_Model_Entity_Attribute_Source_Units::MODEL,
    'backend' => SGH_ProductUnits_Model_Entity_Attribute_Backend_Units::MODEL,
    'required' => 1,
    'global' => 1,
    'note' => Mage::helper('productunits')->__('This will be displayed next to any Qty value.')
));
$installer->endSetup();

Đó là mã của tôi có thêm thuộc tính đơn vị số lượng, đừng nhầm lẫn khi sử dụng các hằng số lớp, đó chỉ là các bí danh lớp tương ứng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn dữ liệu vào nhiều bảng bằng một biểu mẫu

  2. MySQL MONTHNAME () từ các số

  3. mySQL đặt một varchar không có các ký tự đặc biệt

  4. Springboot + MySQL:không thể đọc bất kỳ loại ngày nào từ (DATE, DATETIME, TIMESTAMP) MySQL

  5. Máy chủ tự động đóng và gặp lỗi 'ERR_STREAM_WRITE_AFTER_END' cùng với việc gửi dữ liệu mỗi lần đến máy khách