Este es un caso clásico donde la generación de código es tu amiga. Deje de crearlos a mano e intente utilizar el siguiente script de código abierto y gratuito (que también se ha incorporado a la n98-magerun
herramienta)
Por ejemplo, lo siguiente duplicará el atributo de color de los datos de muestra
$ magento-create-setup.php color
//WARNING, non false value detected in is_used_for_price_rules. The setup resource migration scripts may not support this (per 1.7.0.1)
<?php
if(! ($this instanceof Mage_Catalog_Model_Resource_Setup) )
{
throw new Exception("Resource Class needs to inherit from " .
"Mage_Catalog_Model_Resource_Setup for this to work");
}
$attr = array (
'attribute_model' => NULL,
'backend' => '',
'type' => 'int',
'table' => '',
'frontend' => '',
'input' => 'select',
'label' => 'Color',
'frontend_class' => '',
'source' => '',
'required' => '0',
'user_defined' => '1',
'default' => '',
'unique' => '0',
'note' => '',
'input_renderer' => NULL,
'global' => '1',
'visible' => '1',
'searchable' => '1',
'filterable' => '1',
'comparable' => '1',
'visible_on_front' => '0',
'is_html_allowed_on_front' => '0',
'is_used_for_price_rules' => '1',
'filterable_in_search' => '1',
'used_in_product_listing' => '0',
'used_for_sort_by' => '0',
'is_configurable' => '1',
'apply_to' => 'simple',
'visible_in_advanced_search' => '1',
'position' => '1',
'wysiwyg_enabled' => '0',
'used_for_promo_rules' => '1',
'option' =>
array (
'values' =>
array (
0 => 'Green',
1 => 'Silver',
2 => 'Black',
3 => 'Blue',
4 => 'Red',
5 => 'Pink',
6 => 'Magenta',
7 => 'Brown',
8 => 'White',
9 => 'Gray',
),
),
);
$this->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'color', $attr);
Si está utilizando la n98-magerun
versión, sería
$ n98-magerun dev:setup:script:attribute catalog_product color
El uso de la generación de código le permitirá realizar su trabajo más rápido y, a medida que pase el tiempo, comenzará a aprender el formato.
onClick
yonChange
en las opciones de atributo?Cada elemento de la
value
matriz representa una opción. Puede agregar las etiquetas para cada vista de la tienda si tiene más de esta manera:Básicamente es
store_id=>'Label for store'
fuente
$installer = $this;
como la primera línea en la secuencia de comandos del instalador.backend
es el equivalente debackend_model
columna en eleav_attribute table
. Un atributo puede admitir modelos frontend (que en realidad son bloques utilizados para representar el campo de atributo en el backend), modelos fuente (para atributos desplegables y de selección múltiple. Esta es la fuente de las opciones) y modelo backend. Puede usar la clase que configuró un modelo de back-end para realizar acciones antes de guardar el valor del atributo o después de cargarlo. Puede usar esto para realizar validaciones adicionales o para alterar el valor. En este caso específico, la matriz que envía desde el formulario se serializa.Agregue el modelo de origen siempre que cree un menú desplegable de tipo de atributo
fuente
prueba esto. He agregado tantos atributos y valores de atributos a través de este código y puede asignar el atributo al conjunto de atributos a través de este código.
fuente