Closed fernandoperigolo closed 10 years ago
Rodei a instalação dos atributos num arquivo separado e funcionou. Acredito que tenha sido bem pessoal este erro, por isso vou fechar.
O que vc quis dizer com "Rodei a instalação dos atributos num arquivo separado e funcionou"? Como fzer isso?
Cara, eu consegui reolver aqui... não sei como fazer isso aí, mas pesquisei bastante no google e executei o seguinte: Fui até meu banco de dados, na tabela 'core_resource' e apaguei a linha 'onestepcheckout_setup'. Em seguida, limpei o cache e a sessão via ssh. Depois acessei minha administração novamente. Creio q já nesse acesso o script de instalação do módulo foi executado novamente, e dessa vez deu certo. O campo tipopessoa apareceu. Por algum motivo o script não havia rodado...
Para deixar registrado.
Como eu estava instalando numa loja que já estava operando há anos, já tiva passados dos outros dois checkouts e já ouve muita manutenção, Alguns campos já existiam no banco, assim como diferentes configurações que causavam conflito. Assim que criei um arquivo php, coloquei dentro da pasta do OSC6 e rodei ele. Este arquivo força a criação dos atributos assim como reseta alguns campos a serem obrigatórios. Veja abaixo o arquivo completo:
<?php
require_once '../../../../../app/Mage.php';
Mage::app();
$installer = new Mage_Customer_Model_Entity_Setup('core_setup');
$installer->startSetup();
/*Remover atributos tipopessoa do OSC 4*/
if ($installer->getAttribute('customer', 'tipopessoa', 'attribute_id')) {
$installer->removeAttribute('customer', 'tipopessoa');
$installer->removeAttribute('customer_address', 'tipopessoa');
}
if (!$installer->getAttribute('customer', 'tipopessoa', 'attribute_id')) {
$installer->addAttribute('customer', 'tipopessoa', array(
'type' => 'int',
'input' => 'select',
'label' => 'Tipo de Pessoa',
'global' => 1,
'visible' => 1,
'required' => 0,
'user_defined' => 1,
'sort_order' => 95,
'visible_on_front' => 1,
'source' => 'eav/entity_attribute_source_table',
'option' => array(
'values' => array('Física', 'Jurídica'),
),
));
if (version_compare(Mage::getVersion(), '1.6.0', '<=')) {
$customer = Mage::getModel('customer/customer');
$attrSetId = $customer->getResource()->getEntityType()->getDefaultAttributeSetId();
$installer->addAttributeToSet('customer', $attrSetId, 'General', 'tipopessoa');
}
if (version_compare(Mage::getVersion(), '1.4.2', '>=')) {
Mage::getSingleton('eav/config')
->getAttribute('customer', 'tipopessoa')
->setData('used_in_forms', array('adminhtml_customer', 'customer_account_create', 'customer_account_edit', 'checkout_register'))
->save();
}
}
if (!$installer->getAttribute('customer', 'ie', 'attribute_id')) {
$installer->addAttribute('customer', 'ie', array(
'input' => 'text',
'type' => 'varchar',
'label' => 'IE (Inscrição Estadual)',
'visible' => 1,
'required' => 0,
'user_defined' => 1,
));
if (version_compare(Mage::getVersion(), '1.6.0', '<=')) {
$customer = Mage::getModel('customer/customer');
$attrSetId = $customer->getResource()->getEntityType()->getDefaultAttributeSetId();
$installer->addAttributeToSet('customer', $attrSetId, 'General', 'ie');
}
if (version_compare(Mage::getVersion(), '1.4.2', '>=')) {
Mage::getSingleton('eav/config')
->getAttribute('customer', 'ie')
->setData('used_in_forms', array('adminhtml_customer', 'customer_account_create', 'customer_account_edit', 'checkout_register'))
->save();
}
}
$firstname = Mage::getModel('eav/entity_attribute')
->loadByCode('customer', 'firstname')
->setIsRequired(true)
->save();
$lastname = Mage::getModel('eav/entity_attribute')
->loadByCode('customer', 'lastname')
->setIsRequired(true)
->save();
$dob = Mage::getModel('eav/entity_attribute')
->loadByCode('customer', 'dob')
->setIsRequired(true)
->save();
$telephone = Mage::getModel('eav/entity_attribute')
->loadByCode('customer_address', 'telephone')
->setIsRequired(true)
->save();
$city = Mage::getModel('eav/entity_attribute')
->loadByCode('customer_address', 'city')
->setIsRequired(true)
->save();
$street = Mage::getModel('eav/entity_attribute')
->loadByCode('customer_address', 'street')
->setIsRequired(true)
->save();
var_dump('Done!');
$installer->endSetup();
Pessoal, instalei numa loja já funcional e ele me diz que o tipo pessoal não está habilitado, debugei com um var_dump e ele disse que o $_tipopessoa->isEnabled() é false.
Contudo, não achei nenhuma configuração para este campo no admin do Magento. Esta configuração vem do banco? Será um tipo de conflito com o antigo checkout? Este isEnabled verifica como? Se esta configuração estiver no banco, como posso verificar?