Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para módulos, formas de pagamentos e formas de envio para OpenCart v1.x.
#47459
Existe uma versão oficial deste módulo para opencart 1.5.6?
eu estou tendo problemas com está versão http://www.surgimento.com.br/blog/openc ... t-1-5-4-1/

1. a página /index.php?route=account/register continua igual, sem os campos adicionais.
para ver os campos adicionais eu tenho que acessar /index.php?route=account/cadastro

2. todos os campos ficam abertos, CPF e CNPJ. Quando alterno entre os radio buttons pessoa física ou jurídica nada acontece e também não da erro.

3. No painel administrativo nada mudou.
#48364
Bom dia, galera do OC!

Estou com a seguinte situação: Instalei o módulo que é super prático e gratuito. Funcionou perfeitamente na hora.

A única coisa é que a mask (formatação) do campo telefone está sem o 9° digito.

Eu entrei em contato com o programador e ele me passou uma alteração simples a ser feita no arquivo XML. Eu fiz a alteração mas bugou tudo.

Como eu não sou programador e não tenho muito experiência nessa area, não duvido que fiz algo de errado na hora de modificar.

A modificação é simples. Só não sei se entendi direito como fazer. Principalmente as observações no final. Haha...

Código do XML original:
Código: Selecionar todos
/* Mascaras e Formatos */
if($('input.phone').length > 0) $('input.phone').mask('(99) 9999-9999');if($('input.date').length > 0) $('input.date').mask('99/99/9999');
if($('input.cpf').length > 0) $('input.cpf').mask('999.999.999-99');
if($('input.cnpj').length > 0) $('input.cnpj').mask('99.999.999/9999-99');
if($('input.alphanumeric').length > 0) $('input.alphanumeric').alphanumeric();
if($('input.numeric').length > 0) $('input.numeric').numeric();
Solução do programador:

Abra o arquivo XML do módulo e onde tiver a máscara do campo de telefone altere para o código abaixo:
Código: Selecionar todos
$('#fone1, #fone2').mask('(99) 9999-9999?9').on('focusout', function(event){
    var target,
        phone,
        element;

        target  = (event.currentTarget) ? event.currentTarget : event.srcElement;
        phone   = target.value.replace(/\D/g, '');
        element = $(target);

        element.unmask();

        if(phone.length > 10){
            element.mask('(99) 99999-999?9');
        }else{
            element.mask('(99) 9999-9999?9');
        }
});
if($('#fone1').val().length > 14){
    $('#fone1').unmask();
    $('#fone1').mask('(99) 99999-999?9');
}
if($('#fone2').val().length > 14){
    $('#fone2').unmask();
    $('#fone2').mask('(99) 99999-999?9');
}
Obs:
- Altere o nome do ID do campo: #fone1 e #fone2.
- Se o on() do jQuery não funcionar por conta da versão tente trocar pelo bind().

Código após eu modificá-lo:
Código: Selecionar todos
/* Mascaras e Formatos */
if($('input.phone').length > 0) $('#fone1, #fone2').mask('(99) 9999-9999?9').on('focusout', function(event){
var target,
phone,
element;

target  = (event.currentTarget) ? event.currentTarget : event.srcElement;
phone   = target.value.replace(/\D/g, '');
element = $(target);

element.unmask();

if(phone.length > 10){
element.mask('(99) 99999-999?9');
}else{
element.mask('(99) 9999-9999?9');
}
});
if($('#fone1').val().length > 14){
$('#fone1').unmask();
$('#fone1').mask('(99) 99999-999?9');
}
if($('#fone2').val().length > 14){
$('#fone2').unmask();
$('#fone2').mask('(99) 99999-999?9');
}
if($('input.date').length > 0) $('input.date').mask('99/99/9999');
if($('input.cpf').length > 0) $('input.cpf').mask('999.999.999-99');
if($('input.cnpj').length > 0) $('input.cnpj').mask('99.999.999/9999-99');
if($('input.alphanumeric').length > 0) $('input.alphanumeric').alphanumeric();
if($('input.numeric').length > 0) $('input.numeric').numeric();
Maaaas.... não funcionou! Alguém tem alguma ideia?

Utilizo OC versão 1.5.4, caso isso ajude.

Agradeceria MUITO se alguém me der uma mão com isso. Esté módulo é super útil para todos aqui.

Abraço!
#53937
Pessoal, consegui fazer funcionar na minha instalação 1.5.6 com essa dica preciosa do Renan, mas a formatação do layout ficou desconfigurada, os formulários do cadastro de nova conta encostaram na lateral da tela, como se não houvesse tabela nenhuma. Em qual arquivo devo mexer?
#54690
RenanVinicius escreveu:Estou usando esse módulo na versão 1.5.6 e tive o mesmo problema.

Aparentemente um array não está sendo fechado no arquivo cpf_cnpj_dataNascimento_admin.xml dentro do vQmod.

Solução:
Localize o código abaixo no arquivo cpf_cnpj_dataNascimento_admin.xml:
Código: Selecionar todos
return array(
  'cpf'               => $cpf,
  'cnpj'               => $cnpj,
  'razao_social'               => $razao_social,
  'inscricao_estadual'               => $inscricao_estadual,
  'data_nascimento'               => $data_nascimento,	
  'ddd'               => $ddd,	
  'shipping_numero'  => $order_query->row['shipping_numero'],
  'shipping_complemento' => $order_query->row['shipping_complemento'],
  'payment_numero'  => $order_query->row['payment_numero'],
  'payment_complemento' => $order_query->row['payment_complemento'],
E substitua por esse:
Código: Selecionar todos
return array(
  'cpf'               => $cpf,
  'cnpj'               => $cnpj,
  'razao_social'               => $razao_social,
  'inscricao_estadual'               => $inscricao_estadual,
  'data_nascimento'               => $data_nascimento,	
  'ddd'               => $ddd,	
  'shipping_numero'  => $order_query->row['shipping_numero'],
  'shipping_complemento' => $order_query->row['shipping_complemento'],
  'payment_numero'  => $order_query->row['payment_numero'],
  'payment_complemento' => $order_query->row['payment_complemento'],
);
Note que foi adicionado apenas um ");", pois é o fechamento do array que estava faltando.

Espero ter ajudado. ;)
Resolveu pra mim, instalado na versão 1.5.6.4

Muito obrigado.
#54922
Estou com erro no módulo também.
Uma conta já cadastrada, quando clico em Alterar Informações, aparece o seguinte erro:

Notice: Undefined index: data_nascimento in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 130Notice: Undefined index: cpf in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 143Notice: Undefined index: rg in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 144Notice: Undefined index: cnpj in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 145Notice: Undefined index: inscricao_estadual in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 146Notice: Undefined index: razao_social in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 148Notice: Undefined index: sexo in /home/passa732/public_html/loja/vqmod/vqcache/vq2-catalog_model_account_customer.php on line 148Warning: Cannot modify header information - headers already sent by (output started at /home/passa732/public_html/loja/index.php:106) in /home/passa732/public_html/loja/vqmod/vqcache/vq2-system_engine_controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /home/passa732/public_html/loja/index.php:106) in /home/passa732/public_html/loja/vqmod/vqcache/vq2-system_engine_controller.php on line 29

Poderiam me ajudar?
Módulo cadastro do brasil 1.2
Opencart 1.5.6.4
#55849
Oi gente!
Com relação à este módulo, como pretendo vender para outros países, estou tendo problema na hora do cadastro pelo Cliente. Sendo assim, preciso mudar as configurações de validação para cep para outros países. Como para pessoa física existe a validação do CPF e da Pessoa jurídica a validação do CNPJ, e como tem a validação do CEP para pessoa física e jurídica (cep brasil), acredito que o ideal seria criar um outro tipo, ou seja, as opções para "pessoa física", "pessoa jurídica" e "estrangeiro" com validações diferentes para os campos CEP, e adiciona-se um campo para identificação do estrangeiro (poderia aproveitar o campo RG para não precisar criar outro campo).


Alguém tem ou pode fazer esta modificação?
#55977
Como eu consigo remover a validação ou mudar a validação (número de digitos) para o CEP quando o cadastro for para o Brasil e quando for para o exterior?

Como o CEP vem antes do país no cadastro, não daria para filtrar por país. Então teria que ter uma forma de identificar o cadastro quando será é Brasil e quando não é antes de selecionar o país. O mesmo problema aconteceria com a validação do CPF, quando for outro país necessita ser desativado ou mudado a validação.

abs.
#55993
O arquivo que você deve fazer as modificações é o catalog/controller/account/account.php

Vou te da um exemplo para aceitar somente números do campo:

Localize a linha abaixo:
if ($country_info) {
if ($country_info['postcode_required'] && (utf8_strlen($this->request->post['postcode']) < 2) || (utf8_strlen($this->request->post['postcode']) > 10)) {
$this->error['postcode'] = $this->language->get('error_postcode');
}

Adicione o trecho de código

Para aceitar somente números no campo:

if ((!is_numeric($this->request->post['postcode'])) and ($country_info['postcode_required'])) {
$this->error['postcode'] = 'Informe apenas numeros!';
}

Para deixar o CEP obrigatório somente para o Brasil, isso já poderia ser informado na admin mais se desejar pode fazer pela linha abaixo também;

if (($country_info['country_id'] == '30') and (utf8_strlen($this->request->post['postcode']) !== '8')) {
$this->error['postcode'] = 'CEP e obrigatorio para o Brasil';
}

As validações são feitas nesse arquivo é só fazer o que desejar abaixo da linha que informei; Se você desejar algo mais específico pode contratar meus serviços;

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]