2014-09-22 4 views
0

Я создал атрибут категории под названием «Фильтр» в Catelog - Категория:Как обновить атрибут категории в magento?

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

А теперь я хочу, чтобы добавить «Да/Нет» в этот атрибут, я искал в Интернете и попытался написать код, но они не работают:

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

Пожалуйста, дайте мне несколько советов, спасибо!

ответ

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' => 'Option One', 'optiontwo' => 'Второй вариант' ) } }

Update: добавить это в глобальном теге из XML

<models> 
      <arctic_filter> 
       <class>Arctic_Filter_Model</class> 
      </arctic_filter> 
     </models> 
+0

Поскольку я новичок в magento, у меня есть вопрос о вашем ответе. Для части «source» это путь созданного класса «Namespace_Module_Model_Source_Filter», а имя файла «source_filter», которое я могу изменить, верно? Благодаря! –

+0

Я пробовал следовать вашему ответу, но на заднем плане изменений нет. Я добавляю " 'источник' \t => 'Filter_Model/updateFilter'" в сценарий установки, и создать класс вроде этого: 'Yes', 'optiontwo' => 'No'); \t}} –

+0

пожалуйста вставьте конфигурационный файл – user773440

Смежные вопросы