Instalo el atributo con el siguiente script:
$installer = $this;
$installer->startSetup();
$installer->removeAttribute('catalog_product', 'customizableonly');
$installer->addAttribute('catalog_product', 'customizableonly', array(
'group' => 'General',
'input' => 'select',
'type' => 'int',
'label' => 'Customizable Only',
'source' => 'eav/entity_attribute_source_boolean',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => 1,
'required' => 0,
'visible_on_front' => 0,
'is_html_allowed_on_front' => 0,
'is_configurable' => 0,
'searchable' => 0,
'filterable' => 0,
'comparable' => 0,
'unique' => false,
'user_defined' => false,
'default' => 0,
'is_user_defined' => false,
'used_in_product_listing' => true
));
$this->endSetup();
También probé con $installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
Y luego estoy usando el valor del atributo en otro código. Pero siempre consigo null
. Descubrí que el atributo no establece un valor predeterminado. Cuando abro un producto, aparece el menú desplegable No
, pero cuando obtengo su valor en el código, lo es null
. Si solo hago clic en el menú desplegable, simplemente configure No
y guarde el producto, todo funciona.
¿Cómo superar esto?
Respuestas:
Intenta establecer el valor predeterminado como cadena
o vacio
Actualizar
Los valores predeterminados se agregan cuando agrega un producto nuevo para los antiguos que no afecta.
Intenta arreglar eso en la gestión de productos con acción masiva
Dentro de administrar productos, hay una acción llamada "Actualizar atributos". Seleccione todos los productos que desea actualizar y luego seleccione Actualizar atributos y agregue toda la información nueva.
fuente
Debe establecer el valor para todas las entidades existentes manualmente:
fuente: /programming/4906497/default-attribute-value-for-all-product-in-magento . Ver la respuesta de Asrar Malik.
fuente
Tuve el problema de que con los fragmentos de código anteriores se creó un atributo select en lugar de un atributo yes / no. Para solucionar esto tuve que usar
en lugar de:
fuente
No pude agregar un valor predeterminado 0 a un atributo sí / no también.
Por lo tanto, utilicé un evento para agregar el valor predeterminado 0
Método:
fuente
Para agregar un atributo personalizado sí / no al módulo de creación de magento como se muestra a continuación.
http://www.pearlbells.co.uk/how-to-add-custom-attribute-dropdown-to-category-section-magento/
fuente