Tôi muốn thêm thuộc tính vào sản phẩm và tôi muốn thực hiện việc này theo lập trình. Vì vậy, tôi đã thêm một mysql-cài đặt-0.1.0.php đến một mô-đun của tôi, và tôi đã thêm này (lấy cảm hứng từ các ví dụ hiện có):Cách thêm thuộc tính theo chương trình
<?php
$installer = $this;
$installer->startSetup();
$installer->addAttribute('catalog_product', 'collection', array(
'type' => 'varchar',
'backend' => '',
'frontend' => '',
'label' => 'Collection',
'input' => 'text',
'class' => '',
'source' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => false,
'required' => false,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'unique' => false,
'apply_to' => '',
'is_configurable' => false
));
$installer->endSetup();
Cú pháp dường như OK, nhưng khi nói đến việc thực hiện phần này của mã, đây là vấn đề:
Fatal error: Call to undefined method Mage_Core_Model_Resource_Setup::addAttribute() in /home/frleq/Dev/projets/AVIP/WORKSPACE/avip_magento/app/code/local/Smile/Magentaho/sql/magentaho_setup/mysql4-install-0.1.0.php on line 7
Bạn có thấy có gì không ổn? Mã không phải là quá phức tạp, và nó được lấy cảm hứng từ những cái hiện và worling ...
Cảm ơn bạn
Đúng vậy, tôi quên đề cập đến lớp Setup trong config.xml: Company_Module Mage_Eav_Model_Entity_Setup Thanks a lot Anders –
frinux
Đừng! Sử dụng 'Mage_Catalog_Model_Resource_Setup' thay vì' Mage_Eav_Model_Entity_Setup' liên quan đến Sản phẩm/Thuộc tính danh mục hoặc thuộc tính bổ sung của chúng ** sẽ không được đặt (tức là "is_searchable", "is_visible_on_front" vv) vì phương thức '_prepareValues ()' trong lớp thiết lập. – nevvermind
Nếu bạn cần sử dụng cả hai thì sao? – surfer190