簡體   English   中英

如何以編程方式添加屬性

[英]How to add an attribute programmatically

我想為產品添加一個屬性,我想以編程方式執行此操作。 所以我在我的模塊中添加了一個mysql-install-0.1.0.php,我添加了這個(靈感來自現有的例子):

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

語法似乎沒問題,但是當涉及到執行這部分代碼時,問題就出現了:

致命錯誤:在/home/frleq/Dev/projets/AVIP/WORKSPACE/avip_magento/app/code/local/Smile/Magentaho/sql/magentaho_setup/mysql4-install-0.1.0中調用未定義的方法Mage_Core_Model_Resource_Setup :: addAttribute()第7行的.php

你看到了什么問題嗎? 代碼並不是那么復雜,它的靈感來自現有的和令人擔憂的......

謝謝

您使用的是錯誤的安裝類。 檢查config.xml中的安裝程序類聲明。 您正在使用Mage_Core_Model_Resource_Setup 請嘗試Mage_Eav_Model_Entity_Setup

如果要使用與產品相關的選項(可過濾,可搜索等),則應使用Mage_Catalog_Model_Resource_Eav_Mysql4_Setup類。

在最新版本的Magento中,您應該使用Mage_Catalog_Model_Resource_Setup類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM