Me gustaría agregar un atributo a los productos, y quiero hacerlo mediante programación. Por lo que añade un mysql-install-0.1.0.php a un módulo de la mía, y añadí esto (inspirado en los ejemplos existentes):Cómo agregar un atributo mediante programación
<?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();
Sintaxis parece bien, pero cuando se trata de ejecutar esta parte de el código, aquí está el problema:
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
¿Ves lo que está mal? El código no es tan complicado, y se inspira de los ya existentes y worling ...
Gracias
Así es, se me olvidó mencionar la clase de instalación en config.xml: Company_Module Mage_Eav_Model_Entity_Setup Muchas gracias Anders –
frinux
No! Utilice 'Mage_Catalog_Model_Resource_Setup' en lugar de' Mage_Eav_Model_Entity_Setup' con respecto a los atributos de Productos/Catálogo o sus atributos adicionales ** no se establecerán ** (es decir, "is_searchable", "is_visible_on_front", etc.) debido al método '_prepareValues ()' en el clase de configuración. – nevvermind
¿Qué sucede si necesita usar ambos? – surfer190