Pascal - Netenvie Posted January 31, 2014 Share Posted January 31, 2014 (edited) Bonjour, Depuis la mise à jour de la 1.5.3 en 1.5.6.2 le bloc userinfo affiché en haut de page agit de manière très spéciale ... Si je vide le cache smarty le bloc est mis en cache dès qu'un utilisateur se connecte.Puis tous les autres qui arrivent et se connectent voit le nom du premier. En gros le cache de ce bloc ne tient pas compte de la session utilisateur et affiche la même chose pour tous les utilisateurs connectés ! Assez embêtant ... Du coup la boutique tourne avec le cache smarty désactivé. La team Presta, une idée ? Le bug est connu ? Merci. a+ Edited February 4, 2014 by Pascal - Netenvie (see edit history) Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 3, 2014 Share Posted February 3, 2014 Bonjour, Je ne reproduis pas votre souci sur une 1.5.6.2 avec le thème par défaut. Vous êtes sur ce thème ? Cordialement Link to comment Share on other sites More sharing options...
Pascal - Netenvie Posted February 4, 2014 Author Share Posted February 4, 2014 (edited) Bonjour, Merci pour le retour. Le theme utilisé est PRS040099. J'ai vidé le cache smarty pour un autre problème et cela ne semble plus se produire. J'avais pourtant testé ça à plusieurs reprises sans effet ... bizarre et pas sur que ça soit 100% réglé. Edited February 4, 2014 by Pascal - Netenvie (see edit history) Link to comment Share on other sites More sharing options...
Melusine Posted February 11, 2014 Share Posted February 11, 2014 Bonjour J'ai le même problème sur une 1.5.6.1. Thème de base légèrement modifié. J'affiche le nom de l'utilisateur en cours avec {if $logged}<span>Bonjour {$customerName}</span>{/if} Mais c'est le nom de la dernière personne connecté qui s'affiche. Et ça met le souk dans les sessions. Seul "mon compte" est bon.. Une idée de pourquoi ça beug ? Merci d'avance Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 11, 2014 Share Posted February 11, 2014 Hello, J'ai du mal à comprendre car ce module n'est pas mis en cache https://github.com/PrestaShop/PrestaShop/blob/1.6/modules/blockuserinfo/blockuserinfo.php#L57 Il ne se trouve pas dans cache/smarty/cache. Êtes vous sur que c'est le template de blockuserinfo ? Il y a eu plusieurs track la dessus par exemple http://forge.prestashop.com/browse/PSCFV-9543 ou Cordialement Link to comment Share on other sites More sharing options...
Melusine Posted February 11, 2014 Share Posted February 11, 2014 Bonjour Non je n'utilise pas le bloc userinfo mais je récupère mes variables comme ceci : {if $logged}<span>Bonjour {$customerName}</span>{/if} <a href="{$base_dir}commande-rapide">Mon panier</a> {if $logged} <a href="{$base_dir}mon-compte">Mon compte</a> <a href="{$base_dir}?mylogout=" rel="nofollow">Déconnexion</a> {else} <a href="{$base_dir}mon-compte">Se connecter</a> {/if} Le {$customerName} et l'ajout d'un produit à un panier bug avec le cache actif. Ça garde les informations de la dernière personne connectée.. En désactivant le cache, tout rentre dans l'ordre. Link to comment Share on other sites More sharing options...
Pascal - Netenvie Posted December 11, 2014 Author Share Posted December 11, 2014 (edited) Pour que cela fonctionnne il faut remplacer : return $this->display(__FILE__, 'blockpermanentlinks-header.tpl', $this->getCacheId('blockpermanentlinks-header')); par return $this->display(__FILE__, 'blockpermanentlinks-header.tpl', $this->getCacheId('blockpermanentlinks-header') . $this->context->customer->id); Dans la fonction hook du module concerné. Et bien sur blockpermanentlinks est à remplacer par le nom de votre module Edited December 11, 2014 by Pascal - Netenvie (see edit history) 1 Link to comment Share on other sites More sharing options...
daniel69 Posted December 16, 2014 Share Posted December 16, 2014 Bonjour Pascal, De ce que je comprends, ca implique la modification d'un fichier du module et donc à la prochaine mise à jour , la modification sera supprimé? N'est ce pas? "Dans la fonction hook du module concerné" : qu'entendez vous par là? C'est bien un fichier php du module en question, dont on parle pour la modif ? "Et bien sur blockpermanentlinks est à remplacer par le nom de votre module" : pouvez vous me donner un peu plus de précisions? Merci encore pour votre aide Link to comment Share on other sites More sharing options...
Pascal - Netenvie Posted December 16, 2014 Author Share Posted December 16, 2014 (edited) Bonjour, Le fichier à modifier est le fichier php du module. Par exemple dans ce cas le fichier blockpermanentlinks.php. La fonction hook est celle qui affiche le module dans la position par exemple dans ce cas : public function hookTop($params) { ... return $this->display(__FILE__, 'blockpermanentlinks-header.tpl', $this->getCacheId('blockpermanentlinks-header') . $this->context->customer->id); } Et oui malheureusement il n'y a pas de système de surcharge officiel pour le code php des modules donc il faudra restaurer la modification après MAJ. Si la modification concerne un autre module et bien tout s'applique de la même manière sauf que le nom change (bien sûr). Edited December 16, 2014 by Pascal - Netenvie (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now