2012-01-24 5 views
5

Estoy intentando configurar conjuntos de atributos y atributos automáticamente a través de un script de configuración. El script funciona y todos los atributos se agregan a los conjuntos, no hay problema con eso ... sin embargo, cuando miro los atributos, el visible_on_front, el used_in_product_listing y el global no están configurados correctamente. Esto es lo que tengo:Configuración del módulo Magento/secuencia de comandos del instalador

$installer->addAttribute('catalog_product', '<attribute_code>', array(
    'group'   => 'General', 
    'input'   => 'date', 
    'type'   => 'datetime', 
    'label'   => '<some_label>', 
    'backend'  => 'eav/entity_attribute_backend_datetime', 
    'is_global'  => 0, 
    'global'  => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE, 
    'is_visible_on_front'  => 1, 
    'visible_on_front'   => 1, 
    'used_in_product_listing' => 1, 
)); 

¿Alguien sabe cómo puedo arreglar esto para que funcione?

Respuesta

19

El truco aquí es asegurarse de que está utilizando el objeto de instalación correcto. El objeto predeterminado de Configuración es Mage_Eav_Model_Entity_Setup que agregará su atributo a la tabla eav_attribute pero no tiene conocimiento de los campos adicionales en catalog_eav_attribute como used_in_product_listing (o customer_eav_attribute y sus campos).

Así, anadir este en la parte superior de la secuencia de instalación:

$installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup'); 
$installer->startSetup(); 

que debería hacer la diferencia.

Para su información, puede usar Mage_Customer_Model_Entity_Setup para lograr el mismo final para los atributos del cliente.

+0

THX para eso ..! –

+0

eres el hijo de dios. Gracias. – Nikitas

+0

Brillante, esto solucionó mi problema! Tú eres el hombre Jonathan Day. –

Cuestiones relacionadas