deivisonarthur / OSC-Magento-Brasil-6-Pro

One Step Checkout Brasil 6 Pro
75 stars 103 forks source link

Widget tipopessoa desabilitado #9

Closed fernandoperigolo closed 10 years ago

fernandoperigolo commented 10 years ago

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?

fernandoperigolo commented 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.

filipecsweb commented 9 years ago

O que vc quis dizer com "Rodei a instalação dos atributos num arquivo separado e funcionou"? Como fzer isso?

filipecsweb commented 9 years ago

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...

fernandoperigolo commented 9 years ago

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();