add new attribute category

Thảo luận trong 'Catalog - Product' bắt đầu bởi danhbunanco, 21 Tháng năm 2013.

  1. danhbunanco

    danhbunanco Member

    ai có thể hướng dẩn mình làm cái này. trên mang có hướng dẩn nhưng vẩn làm không được

    http://www.atwix.com/magento/add-category-attribute/

    file mysql4-install-0.0.1.php ở đâu ra ?
    mình làm xong chạy vào backend thì không thấy thêm được cái attribute nao hết .
    nhờ các pro nhe . thanks trước
  2. NUS_3399

    NUS_3399 New Member

    Cái này là họ viết code tạo Attributes bằng setup script. Bạn vào code/sql rồi tạo 1 file Ví dụ là: mysql4-install-0.1.1.php rồi copy paste cái đoạn php bên kìa vào.
    Cái file mysql4-install-0.1.1.php có nghĩa là khi nào bạn chạy magento thì nó sẽ chạy file này đầu tiên, 0.1.1 tức là version.
    Bạn vào cả etc/config.xml sửa lại version cho đúng 0.1.1 nữa.
    Nếu ko chạy dc thì vào db của magento tìm search bảng core_resource thay đổi version trong theme_setup thành 0.1.0, tức là khi nào chạy magento nó sẽ update version từ 0.1.0 lên 0.1.1
    Nói chung đại ý là thế.
  3. hungtk2707

    hungtk2707 Member

    bạn phải tạo 1 module mới chạy đc sql script để tạo custom attribute
    cấu trúc thư mục thế này

    Mã:
    app
    |-- local
        |-- MyModule
            |-- MyAttribute
                |-- etc
                      |-- config.xml
                |-- sql
                      |-- mymodule_myattribute_setup
                          |--install-0.1.0.php
    etc
    |-- modules
      |-- MyModule_MyAttribute.xml
    
    nội dung file config.xml
    Mã:
    <?xml version="1.0"?>
    <config>
        <modules>
            <MyModule_MyAttribute>
                <version>0.1.0</version> //version tương ứng với file install
            </MyModule_MyAttribute>
        </modules>
        <global>
            <resources>
                <mymodule_myattribute_setup>
                    <setup>
                        <module>MyModule_MyAttribute</module>
                    </setup>
                </mymodule_myattribute_setup>
            </resources>
        </global>
    </config>
    
    nội dung file install-0.1.0.php
    Mã:
    $installer = $this;
     
    $installer->startSetup();
     
    chèn sql script tạo attribute trong đây
     
    $installer->endSetup();
    
    nội dung file MyModule_MyAttribute.xml
    Mã:
    <?xml version="1.0"?>
    <config>
        <modules>
            <MyModule_MyAttribute>
                <active>true</active>
                <codePool>local</codePool>
            </MyModule_MyAttribute>
        </modules>
    </config>
    
    mỗi lần chạy thành công, không bị lỗi (không có nghĩa là attribute đc tạo nhé) thì trong bảng core_resource sẽ xuất hiện tên và version của module đó ví dụ
    Mã:
    | mymodule_myattribute_setup | 0.1.0 | 0.1.0 |
    
    nếu cần chạy lại script, bạn vào bảng core_resource xóa đi record tương ứng như ví dụ là chạy đc.

    Chúc bạn thành công :)

Chia sẻ trang này