php - 如何以编程方式添加属性

标签 php magento

我想为产品添加一个属性,并且我想以编程方式执行此操作。所以我在我的模块中添加了一个 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();

语法似乎没问题,但是当执行这部分代码时,问题就在这里:

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

你看到哪里出了问题吗?代码并没有那么复杂,它的灵感来自于现有的和正在开发的代码......

谢谢

最佳答案

您使用了错误的设置类。检查 config.xml 中的设置类声明。您正在使用 Mage_Core_Model_Resource_Setup。请尝试使用 Mage_Eav_Model_Entity_Setup

关于php - 如何以编程方式添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459424/

相关文章:

php - 如何每秒自动更新mysql数据库?

javascript - Safari 浏览器 chop POST 参数

php - 样式化日期时间 symfony/bootstrap

search - magento 搜索问题

html - 我如何只编辑 Magento 主页的 css?

php - 如何将一个值插入到不同的行

php - 为什么 php 无法与本地 sql 数据库对话?

java - Magento Shopgram 结帐页面

需要 Magento 平面目录建议

php - Magento DataFlow 集成和模块开发资源?