Este é um caso clássico em que a geração de código é sua amiga. Pare de criá-los manualmente e tente usar o seguinte script de código aberto e gratuito (que também foi incorporado à n98-magerun
ferramenta)
Por exemplo, o seguinte duplicará o atributo de cor dos dados de amostra
$ 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);
Se você estiver usando a n98-magerun
versão, isso seria
$ n98-magerun dev:setup:script:attribute catalog_product color
O uso da geração de código permitirá que você faça seu trabalho mais rapidamente e, com o passar do tempo, você começará a aprender o formato.
onClick
eonChange
nas opções de atributo?Cada elemento na
value
matriz representa uma opção. Você pode adicionar os rótulos para cada visualização da loja se tiver mais desta forma:Basicamente é
store_id=>'Label for store'
fonte
$installer = $this;
como a primeira linha no script do instalador.backend
é o equivalente dabackend_model
coluna noeav_attribute table
. Um atributo pode suportar modelos de front-end (que na verdade são blocos usados para renderizar o campo de atributo no back-end), modelos de origem (para atributos suspensos e de seleção múltipla. Essa é a fonte das opções) e modelo de back-end. Você pode usar a classe que define um modelo de back-end para executar ações antes que o valor do atributo seja salvo ou depois de carregado. Você pode usar isso para realizar validações adicionais ou para alterar o valor. Nesse caso específico, a matriz que você envia do formulário é serializada.Adicione o modelo de origem sempre que criar um menu suspenso de tipo de atributo.
fonte
tente isso. Eu adicionei muitos atributos e valores de atributos por esse código e você pode atribuir o atributo ao conjunto de atributos por esse código.
fonte