Jump to content

Erreur "Undefined variable: categoryProducts"


dimarel

Recommended Posts

Bonjour,

 

je suis entrain de réaliser une boutique avec le thème matrice que j'ai légèrement modifié. En faisant le transfert du serveur test au serveur définitif. Une erreur est apparue :

 

Notice: Undefined variable: categoryProducts in .../httpdocs/tools/smarty/sysplugins/smarty_internal_data.php on line 291

 

Le message s'affiche sur la page du détail d'un article.

 

J'espère que vous pourrez m'aider à résoudre ce problème.

 

Je peux vous envoyer le lien par mp.

 

ps. je ferais une présentation demain, pas eu le temps aujourd'hui.

 

Salutations.

 

Didier

Link to comment
Share on other sites

Bonjour,

 

Quelle est la version de votre PrestaShop ?

Quels modules ajoutés s'accrochent au product.tpl ?

Votre thème PrestaShop est-il celui d'origine, ou un autre ?

Est-il compatible avec votre version ? Si oui, il peut y avoir un reliquat d'une utilisation de la variable $categoryProducts qui est utilisé dans votre page product.tpl, et qui n'est pas traité en sortie smarty par le noyau ou un module.

Avez-vous modifié manuellement votre product.tpl ?

 

Bien cordialement

Link to comment
Share on other sites

Bonjour DevNet et merci pour ta réponse.

 

Il s'agit de la version 1.4.1.0 avec le theme "matrice".

 

Les modules installés sont ceux du theme, comment puis-je savoir lesquels sont lié au product.tpl ?

 

Je n'ai jamais ouvert le fichier product.tpl...

 

L'adresse de la boutique est www.perles-du-lac.ch

 

Merci pour ton aide.

 

Salutations.

 

Didier

Link to comment
Share on other sites

Bonjour,

 

cela vient probablement de ton thème (dans le fichier product.tpl ) : cherche le nom de variable "categoryProducts" dans ce fichier et compare avec le thème par défaut dans prestashop.

 

Si tu ne trouves pas, reposte un message par ici ^^

Link to comment
Share on other sites

Bonjour,

 

Je pense que d'une part, les erreurs de notices ne devraient pas être activées sur un serveur en production, mais restent des erreurs utiles pour la phase de développement. Si vous en avez les moyens, remédiez à ça dans le php.ini du serveur en production avec error_reporting :

error_reporting = E_ALL & ~E_NOTICE

 

D'autre part, pour ce qui est de l'erreur de code en elle-même, en regardant le contenu de votre product.tpl (thème non protégé au passage, et donc ... récupérable, sauf s'il est gratuit ça va !), vous pouvez modifier la ligne suivante :

{if count($categoryProducts) > 0}<li><a id="more_info_tab_more_info" href="#idTab15">{l s='we have also...'}</a></li>{/if}

par

{if isset($categoryProducts) && count($categoryProducts) > 0}<li><a id="more_info_tab_more_info" href="#idTab15">{l s='we have also...'}</a></li>{/if}

 

Cela devrai résoudre votre problème.

 

Bien cordialement

Link to comment
Share on other sites

Ok, cela n'empêche pas que vous devez un minimum protéger la visibilité de votre thème, et surtout de modifier les rapports d'erreurs de votre serveur web.

La base même d'une tentative de piratage est de provoquer des erreurs et de s'en imprégner pour passer aux étapes suivantes.

Si vous n'avez pas les moyens de régler vous-même les niveaux d'error_reporting dans le php.ini, alors je vous conseille vivement d'insérer cette ligne dans votre fichier /config/config.inc.php :

/* Debug only */
error_reporting(0);
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
...

Ou simplement les erreurs smarty (votre cas ici), dans le fichier /config/smarty.config.inc.php :

global $smarty;
$smarty = new Smarty();
$smarty->error_reporting = 0;
...

  • Like 1
Link to comment
Share on other sites

  • 8 months later...

This error made me cry. I think:

 

prestashop/config/smarty.config.inc.php

 

global $smarty;

$smarty = new Smarty();

$smarty->template_dir = _PS_THEME_DIR_.'tpl';

$smarty->compile_dir = _PS_SMARTY_DIR_.'compile';

$smarty->cache_dir = _PS_SMARTY_DIR_.'cache';

$smarty->config_dir = _PS_SMARTY_DIR_.'configs';

$smarty->caching = false;

$smarty->force_compile = (bool)Configuration::get('PS_SMARTY_FORCE_COMPILE');

$smarty->compile_check = false;

$smarty->debugging = false;

$smarty->debugging_ctrl = 'URL'; // 'NONE' on production

$smarty->deprecation_notices = false; // so many depreciated yet not migrated smarty calls

$smarty->error_reporting = error_reporting() & ~E_WARNING & ~E_NOTICE; //

 

Last line turned off crazy annoyance.

Link to comment
Share on other sites

  • 8 months later...

Bonjour, je me permets de relancer le sujet car j'ai le même problème d'incompatibilité du thème matrice qui a été modifié...

Le zoom ne fonctionne plus et une barre n'apparaît pas :/

J'ai aussi la notice suivante :

 

Notice: Undefined variable: msg in C:\wamp...\store\tools\smarty\sysplugins\smarty_internal_data.php on line 291

 

Savez-vous si ce problème est lié au zoom et savez-vous quoi faire pour ce genre de problème ?

 

Merci

Edited by guigs06.pro (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...