Página 1 de 1
[Resolvido] Validação - edit.php
Enviado: 25 Jun 2018, 20:04
por Cláudio
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.
Re: Validação - edit.php
Enviado: 26 Jun 2018, 00:56
por Manoel Vidal
Olá @Cláudio.
Qual a versão do seu OpenCart?
Re: Validação - edit.php
Enviado: 26 Jun 2018, 11:08
por Cláudio
Olá Vidal, a versão é 3.0.2.0
Re: Validação - edit.php
Enviado: 27 Jun 2018, 14:08
por Manoel Vidal
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.

Re: Validação - edit.php
Enviado: 27 Jun 2018, 17:49
por Cláudio
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.
Re: Validação - edit.php
Enviado: 27 Jun 2018, 19:33
por Manoel Vidal
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.

Re: Validação - edit.php
Enviado: 28 Jun 2018, 19:34
por Cláudio
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.