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

Night games. One night, no worries Real Women P[…]

@Manoel Vidal Poderia me ajudar com 2 coisas n[…]

Looking for a partner for an unforgettable night? […]

Vou verificar, Obrigado