deivisonarthur / OSC-Magento-Brasil-4-Pro

23 stars 51 forks source link

Cadastro usuário #1

Open Vampre opened 11 years ago

Vampre commented 11 years ago

E ai Deivison, tudo blz?

Bom, vamos lá... Comecei a mexer nesta versão e estou fazendo testes.

Amanhã vou ver se arrumo isso, daí atualizamos o código.

Na minha opinião, a tela de cadastro do usuário do Magento, deveria ser o mais enxuta possível. (somente nome/ sobrenome/ email/ senha/ newsletter). Pois é necessário facilitar o cadastro para que a pessoa não desista. As outras informações podem sem pegas na primeira compra, juntamente com o endereço, diretamente no OSC ou no painel do usuário.

Muitas vezes a pessoa desiste de cadastrar quando vê campos como RG e CPF. E facilitando o cadastro, o logista já tem pelo menos o email para fazer um contato. Bom, isto é minha opinião (e como farei na minha loja), mas não sei o que você acha de implementar isso no OSC.

Por enquanto é isso.

Vampre commented 11 years ago

Desta forma o CPF funcionou.

Na tela de registro, mesmo o CPF não sendo obrigatório, não é possível se registrar, pois a validação não deixa. Então eu comentei a seguinte linha:

//Validation.add('validar_cpf', 'O CPF informado \xE9 invalido', function(v){return validaCPF(v,0);});

E coloquei dentro do Input do CPF o código para validar:

<input type="text" id="cpfcnpj" name="cpfcnpj" title="<?php echo $this->__('CPF'); ?>" class="input-text inputcpf <?php if($cpfcnpj === 'required'){ echo ' required-entry';} ?>" onblur= "if (this.value == ''){ Validation.add('validar_cpf', '', function(v){return true;}); $j(this).attr('class', 'validar_cpf input-text inputcpf <?php if($cpfcnpj === 'required'){ echo ' required-entry';} ?>');

} else {
    Validation.add('validar_cpf', 'O CPF informado \xE9 invalido', function(v){return validaCPF(v,0);});
    $j(this).attr('class', 'validar_cpf input-text inputcpf <?php if($cpfcnpj === 'required'){ echo ' required-entry';} ?>');

}" />

Desta forma, o cliente pode registrar sem precisar informar estes dados no início. A validação é feita somente se tiver algo no campo. O mesmo serve para o campo CNPJ e se tiver o TAXVAT

Vampre commented 11 years ago

Segue o código do input que coloquei:

onblur= "if (this.value == ''){ Validation.add('validar_cpf', '', function(v){return true;}); $j(this).attr('class', 'validar_cpf input-text inputcpf <?php if($cpfcnpj === 'required'){ echo ' required-entry';} ?>');

} else {
    Validation.add('validar_cpf', 'O CPF informado \xE9 invalido', function(v){return validaCPF(v,0);});
    $j(this).attr('class', 'validar_cpf input-text inputcpf <?php if($cpfcnpj === 'required'){ echo ' required-entry';} ?>');

}"

Desta forma é possível o cadastro inicial sem precisar informar o CPF. A validação é feita somente se existir algo no campo. O mesmo vale para o CNPJ e para o TAXVAT se tiver.

Vampre commented 11 years ago
renatofig commented 11 years ago

Vampre, olá. Estou recebendo o erro CPF/CNPJ" é um valor obrigatório ao cadastrar pela 1a vez.

Onde voce atualizou este codigo ?

Além disso nao tem validacao de duplicidade certo ? Outro ponto é que bypassa a validacao de cpf quando o cliente ja esta cadastrado e so tento editar...

renatofig commented 11 years ago

opa ja resolvi...só nao sei como fazer a duplicidade de cpf

Vampre commented 11 years ago

E ai Renato,

Quando você diz validação de duplicidade do CPF, você quer dizer de não cadastrar o mesmo CPF? Assim como o magento faz com o e-mail?

Se for isso, realmente será um pouco mais complicado. Mas acho que dá para fazer adicionando alguns códigos no Controller. Seria mais ou menos assim:

//###################### verificar campo cpf na base cliente ###############################

$varcpf = $this->getRequest()->getPost('cpfcnpj'); // buscando o valor do input cpfcnpj e colocando na variável

$cliente = Mage::getModel('customer/customer'); $cliente = $cliente->load($varcpf,'cpfcnpj'); // buscando no banco o valor da variável no campo cpfcnpj

if ($cliente) { // já existe, exibir erro } else { //gravar, não existe este cnpj }

//###########################################################################

Bom, seria mais ou menos isso! Mas já é um caminho para você chegar lá! Espero ter ajudado!

renatofig commented 11 years ago

Cara, valeu a dica. To mexendo no accountcontroller.php, mas tenho umas duvidas, vc tem skype?

Vampre commented 11 years ago

Então cara, tô numa correria danada aqui.... Tenho Skype, mas faz tempo que não uso, nem sei se lembro a senha, preciso reativar. hehehe

Não sou nenhum fera em PHP ou Magento, mas estou me virando aqui (e as vezes quebrando a cabeça!) para colocar minha instalação da loja como gostaria. Vamos conversando por aqui, assim quem sabe outras pessoas possam ver nossas dúvidas e nos ajudar. O que eu puder te ajudar (se eu souber como!) vou colocando aqui também. Se for uma dúvida diferente do tópico, abrimos outro, e assim por diante.

Quanto a mexer no accountcontroller.php, acho que você sabe que se atualizar o magento, irá perder suas alterações. Não é muito recomendado mexer no core por causa disso. O certo seria colocar em um módulo que sobrescreva o controller original e que seja uma "extensão" dele (extends).

Vampre commented 11 years ago

E ai renatofig, blz?

Pega meu Skype (felipevampre) ai, como te disse, estou numa correria sinistra, mas qualquer coisa conversamos. Abraço.

kassiokiarelly commented 11 years ago

Quanto ao problema do CEP eu fiz um fork e consegui resolver o problema do campo Estado. Outro problema é que sempre que o cliente fazia uma compra ele também assinava a newsletter e acabava recebendo email também corrigi isso.

luizfernandotech commented 11 years ago

Caro kassiokiarelly,

Se nao vai compartilhar o que fez e como fez.. mais vale vc nem comentar que corrigiu... Cada dia que passa fico com mais nojo de foruns brasileiros.

kassiokiarelly commented 11 years ago

Caro nacocada poderia simplesmente solicitar isso.

Eu fiz um fork https://github.com/kassiokiarelly/OSC-Magento-Brasil-4-Pro Com o código corrigido

luizfernandotech commented 11 years ago

Caro kassiokiarelly,

Agora sim fez a coisa certa compartilhar a informacao para que outras pessoas possam chegar até ela.

luizfernandotech commented 11 years ago

??

Rafaelolmartins commented 11 years ago

Galera, primeiramente gostaria agradecer o módulo! Está show de bola, mas eu estou com um problema, quando o cliente se cadastra no one step checkout ta funcionando direitinho, porém quando ele se cadastra no cadastro normal está dando erro na validação do cpf. Alguém passou por isto? ABS!

evandrorei commented 11 years ago

Rafael, se descobrir me fala! kkk

luizfernandotech commented 11 years ago

Estarei postando a solução provavelmente amanha quando terminar de corrigir em todos os arquivos. Vou postar aqui: https://github.com/deivisonarthur/OSC-Magento-Brasil-4-Pro/issues/11

evandrorei commented 11 years ago

FICAREI MUITO CONTENTE COM A SOLUÇÃO PORQUE ESTou dias e noites tentando e nada, ja ate desconfigurei tudo as opçoes de Habilitado e Desabilitado do Text/Vat e campo CPF, se possivel me mandar um print das config do seu modulo tambem... Uq vc precisar de ajuda me fala...abrção cara, estou no aguardo

dweigmann commented 11 years ago

Olá colegas, estou tendo os problemas mencionados pelo Vampre, quando o cliente faz o cadastro, o CPF não é gravado, com isso quando ele vai fazer sua compra, acusa "CPF invalido". Mudei algumas coisas como ele falou, comentando a linha de validação e inserindo o código que ele passou, mas o CPF ainda não é gravado, apenas não é mais exigido.

Não tenho muito conhecimento em PHP e da estrutura do Magento, peço então, para que se alguém conseguiu uma solução que funcione corretamente o modulo OSC, compartilhe.

Grato. Daniel

mulleranjos commented 11 years ago

Percebi diferença no Script dos arquivos edit.phtml (salva o cpf) e register.phtml (não salva o cpf). Troquei o código:

    /*Se existe add a class validar_cpfcnpj*/
    if( existe != ''){
        $j('input[name*="taxvat"]').attr('class', 'validar_cpfcnpj input-text');
        $j('input[name*="taxvat-old"]').attr('class', 'input-text');
    }

Por:

    /*Se existe add a class validar_cpfcnpj*/
    if( existe != ''){
        $j('input[name*="taxvat"]').attr('class', 'validar_cpfcnpj input-text');
        $j('input[name*="taxvat-old"]').attr('class', 'input-text');
    }else{
            $j('.inputcnpj').attr('name', 'NULL');
            $j('.inputcpf').attr('name', 'cpfcnpj');
        }

Pronto, resolveu o meu problema de não salvar o CPF durante o registro. Ainda vou verificar se no billing tem o mesmo problema. Se tiver, acredito que a solução deva ser parecida...

marcuspitu commented 11 years ago

Olá, amigos, preciso fazer com que o cpfcnpj grave no campo taxvat, porem quando seleciono esta opção no admin, o cpfcnpj continua gravando no campo cpfcnpj. Andei olhando o código e percebi que esta função está comentada, ou seja sem função e mesmo retirando o comentário não funciona. Alguém pode ajudar?

claudio5678 commented 11 years ago

Marcus, tente de novo a abordagem que sugeri em https://github.com/deivisonarthur/OSC-Magento-Brasil/issues/51#issuecomment-17423900

Confirme uma url pra eu te ajudar a testar.

djgoulaer commented 10 years ago

"Vampre, olá. Estou recebendo o erro CPF/CNPJ" é um valor obrigatório ao cadastrar pela 1a vez.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------Estou com o mesmo problema, como você resolveu isso?