如何在magento中更新类别属性?

时间:2014-09-22 02:24:09

标签: magento

我创建了一个名为" Filter"的类别属性。在Catelog中 - 类别:

<?php
$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'filter', array(
    'group'         => 'General Information',
    'input'         => 'select',
    'type'          => 'varchar',
    'label'         => 'Filter',
    'backend'       => '',
    'visible'       => true,
    'required'      => false,
    'visible_on_front' => true,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
    ));
$this->endSetup();

现在我要添加&#34;是/否&#34;在这个属性中,我在网上搜索并尝试编写一些代码,但它们没有工作:

<?php
$add = $this->getEntityTypedId('catalog_category');
$this->updateAttribute($add, 'Filter', array(
    'option'        =>array('value' => array('optionone' => array('Yes'),
                                             'optiontwo' => array('No'),
                                            )
                            )
                                            )
                    );

请给我一些提示,谢谢!

1 个答案:

答案 0 :(得分:0)

使用源模型

$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'filter', array(
    'group'         => 'General Information',
    'input'         => 'select',
    'type'          => 'varchar',
    'label'         => 'Filter',
'backend'       => '',
'visible'       => true,
'required'      => false,
'visible_on_front' => true,
'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
 'source'        => 'artic_filter/filter',
));

$this->endSetup();

现在创建一个类。

class Namespace_Module_Model_Source_Filter extends   Mage_Eav_Model_Entity_Attribute_Source_Table {   
     

公共函数getAllOptions()
      {       返回数组(        'optionone'=&gt;'选项一',       'optiontwo'=&gt;'选项二'       )       }       }

更新: 将其添加到xml的全局标记

 <models>
            <arctic_filter>
                <class>Arctic_Filter_Model</class>
            </arctic_filter>
        </models>