Estou seguindo muitos artigos, mas não consigo criar atributo de seleção múltipla. e estou recebendo o seguinte erro.
a: 5: {i: 0; s: 50: "Modelo de origem" "não encontrado para o atributo" exinent1 ""; i: 1; s: 3008: "# 0 C: \ wamp \ www \ magento8 \ app \ code \testemunho.
e meu script é:
<?php
$installer = $this;
$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$entityTypeId = $setup->getEntityTypeId('customer');
$attributeSetId = $setup->getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $setup->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);
$setup->addAttribute('customer', 'exinent1', array(
'input' => 'multiselect',
'type' => 'varchar',
'backend' => 'eav/entity_attribute_backend_array',
'label' => 'exinent1',
'visible' => 1,
'required' => 0,
'user_defined' => 1,
'option' => array (
'value' => array('optionone' => array('First Option'),
'optiontwo' => array('Second Option'),
'optionthree' => array('Third Option'),
)
),
));
$setup->addAttributeToGroup(
$entityTypeId,
$attributeSetId,
$attributeGroupId,
'exinent1',
'100'
);
$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'exinent1');
$oAttribute->setData('used_in_forms', array('adminhtml_customer'));
$oAttribute->save();
$setup->endSetup();
e config.xml é:
<?xml version="1.0"?>
<config>
<modules>
<Exinent_Cusatt>
<version>3.1.5.6</version>
</Exinent_Cusatt>
</modules>
<global>
<resources>
<exinent_cusatt_setup>
<setup>
<module>Exinent_Cusatt</module>
</setup>
</exinent_cusatt_setup>
</resources>
</global>
</config>
sql
multiselect-attribute
customer-attribute
sivakumar
fonte
fonte
Respostas:
Eu acho que você cometeu muitos erros ... Aqui está,
etc / config.xml
Helper / Data.php:
Mode / Eav / Entity / Attribute / Source / Customeroptions14042122330.php
sql / customerattribute1404212233_setup / mysql4-install-0.1.0.php
É isso. Basta ativar seu módulo declarar seu conjunto de códigos e não confundir com os números.
<customerattribute1404212233_setup>
É aleatório não para você atribuir identidade, para impedir a entrada duplicada. ..Felicidades ..!fonte
Olá Elavarasan e Sivakumar,
Não é uma boa idéia chamar código de opção em estática ..... Você só precisa buscar usando a tabela Eav
Surcemodel getAllOptions () deve ser
fonte