Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#71429
Boa Tarde!

esta dando o seguinte erro na loja, funcionou tudo perfeito durante uns 3 meses e agora esse erro abaixo. (erros na vdd), ocorre quando tento inserir um novo departamento ou até mesmo alterar os que já estao cadastrados, alguma ideia?

Notice: Undefined index: keyword in /home/public_html/loja/admin/controller/catalog/category.php on line 541
Notice: Undefined index: column in /home/public_html/loja/admin/model/catalog/category.php on line 58
Notice: Undefined index: meta_description in /home/public_html/loja/admin/model/catalog/category.php on line 67
Notice: Undefined index: meta_keyword in /home/public_html/loja/admin/model/catalog/category.php on line 67
Notice: Undefined index: keyword in /home/public_html/loja/admin/model/catalog/category.php on line 147
Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/loja/admin/controller/startup/error.php:34) in /home/public_html/loja/system/library/response.php on line 12
#71552
Opa Fabio! blz?

Sou desenvolvedor na DialHost e acredito ter achado uma solução para o problema...
Analisando o core do Opencart 2.2 descobri que ele definiu o error_reporting (); do PHP como E_ALL.

O que isto quer dizer?
O PHP irá reportar qualquer nível de erro apresentado no sistema. No caso como você pode ver estão aparecendo erros do tipo Notice. Estes erros não são bem erros mas recomendações do PHP para que o sistema tenha mais segurança ou estabilidade.

O caso é que configurado assim pelo OpenCart, o mesmo está cadastrando corretamente o departamento mas, entra nesta recomendação do PHP e acaba travando o sistema depois.

Bem... ai fui a caça de onde ele está sendo definido e achei no arquivo: loja/system/startup.php.
Então eu defini o error_reporting(E_ALL); como error_reporting (0);

Defini como 0 pois existe uma outra validação no core do Opencart 2.2

No arquivo:
loja\admin\controller\startup\error.php

Você verá que ele verifica assim:

if (error_reporting() === 0) {return false;}

e mais embaixo ele vai imprimindo todo tipo de erro do PHP ("erros" que você visualizou em sua tela).

Concluindo, aconselho um report referente a este problema junto a equipe do OpenCart, pois como se trata de um erro no core deles em uma nova atualização de versão pode ser que sobrescreva.

No mais abs e espero ter ajudado.
#71734
O ideal é trata-los.

O mais provável é que alguns campos foram removidos ou tiveram o atributo "name" alterados no arquivo catalog/category_form.tpl