Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v3.x.
Por Cláudio
#78448
Olá pessoal,

na página que altera os dados do cliente "edit.php", quando tem algum erro de validação no preenchimento do formulário o sistema não abre a página, que no caso seria a mesma.

O camando 'return !$this->error;' retorna pra 'Minha conta' se não tem erro, mas em caso de erro de validação não abre a mesma página de edição.

Fiz isso abaixo pra teste, assim abre a página, mas não aparece as mensagens apontando o campo a ser corrigido.
if ($this->error == true){
$this->response->redirect($this->url->link('account/edit', '', true));
}

Gostaria de saber porque o sistema não está encontrando o caminho. Isto acontece também na edição do endereço e senha.

Agradeço a atenção.
Avatar do usuário
Por Manoel Vidal
Mensagens Curtidas
#78477
Testei a edição dos dados do cliente na versão 3.0.2.0 e ela funcionou sem problemas, habilitando todas as validações de campos normais e personalizados?

Você está utilizando o tema padrão do OpenCart?
Se não, faça um teste utilizando o tema padrão.

Você está utilizando alguma extensão/modificação de validação no cadastro do cliente?
Se sim, desative a modificação, pois ela pode está causando o problema.

Espero ter ajudado. :)
Por Cláudio
#78489
O tema é o padrão. Tenho alguns scrips para validação, mas fiz uns testes sem eles e não interferiu no problema.

Tem como passar o erro de validação através desta linha, chamando a página com o erro de validação?
$this->response->redirect($this->url->link('account/edit', '', true));

Passando um $data, ou algo assim.

De for possível já resolve o problema.
Avatar do usuário
Por Manoel Vidal
Mensagens Curtidas
#78490
Se é só para depurar, basta que no arquivo controller (edit.php) você mande as informações para o log de erros do OpenCart com a função abaixo:
Código: Selecionar todos
$this->log->write($variavel_que_voce_quer_ver_o_conteudo);

Assim qualquer informação que você queira depurar será registrada na página de log de erros dentro da administração.

Não entendi bem o que você quer, mas é interessante que você entenda que o OpenCart segue o modelo MVC+L com OO, ou seja, se você é programador PHP, conhecedor de Orientação a Objeto e conhece o minimo do conceito de MVC, não tem muito segredo para fazer alteração nos comportamentos do OpenCart.

Espero ter ajudado. :)
Por Cláudio
#78506
Vou deixar essa linha abaixo pra voltar pra mesma página em caso de erro de validação.

if ($this->error == true){
$this->response->redirect($this->url->link('account/edit', '', true));
}

É um quebra-galho mas não tem outro jeito. Fica melhor assim do que abrir uma página em branco.
Estranho é que no cadastro funciona tudo certo, mas nas páginas de edição da conta não tem jeito.

Obrigado pela atenção.
Manoel Vidal gostou disso