sbourdon Posted April 26, 2019 Share Posted April 26, 2019 Quelqu'un a déjà rencontré ce soucis en multi boutique? Je l'ai eu sur le panier et l'inscription à la newsletter. Les 2 templates sont différents c'est à dire que dans chaque répertoire theme/theme1 ou theme/theme2 /modules/ps_shoppingcart/ le fichier ps_shoppingcart.tpl diffère. Pris séparément les 2 thèmes affichent bien une présentation différente. Quand on passe en multiboutique et donc que chaque thème est dans le répertorie theme on a le même affichage du panier pour les 2 thèmes ... Si on vide le cache .. on la la présentation du theme 1 ou 2 selon les actions faites ...(la boutique qu'on a chargé en premier) Bien sur si on désactive le cache et qu'on force la compilation : les 2 thèmes ont la bonne présentation pour le panier...(pas top niveau perf) Donc cela ressemble bien à un gros soucis dans le cache qui s'embrouille entre les 2 thèmes. Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 26, 2019 Share Posted April 26, 2019 Bonjour, de quel cache parlez vous. est ce le cache en haut ou en bas de la page Performances ? Sachant que le cache en bas de la page Performances ne doit jamais être utilisé sur PrestaShop car il le gère très très mal. Link to comment Share on other sites More sharing options...
Janett Posted April 26, 2019 Share Posted April 26, 2019 Il parle du cache smarty vraisemblablement puisqu'il parle de l'option pour forcer la compilation. Normalement le module ps_shoppingcart n'utilise pas le cache smarty justement pour éviter ce genre de soucis. Avez vous des modifications dans le code PHP du module ps_shoppingcart comparé à celui fournit avec Prestashop ? Avez-vous un module de cache supplémentaire ? Utilisez vous un cache Varnish, un load balancer ou d'autres spécificités pouvant ajouter une couche de cache supplémentaire ? Link to comment Share on other sites More sharing options...
sbourdon Posted April 27, 2019 Author Share Posted April 27, 2019 Je parle bien du cache smarty et du cache de PS. Voir PJ de la config - rien de plus classique (que j'avais sur PS1.6 avec les même multi boutiques et qui ne posait aucun soucis). Le theme 1 et le défaut prestashop avec quelques modifs css et tpl mais pas sur le module cart. Quant au second thème c'est un thème acheté . Aucune modif faite sur le code php. J'ajoute que ça le fait aussi sur le module newsletter en bas de page : block_newsletter qui s'affiche selon l'un ou l'autre des template selon l'ordre ou on a charge la boutique après vidage de cache : le premier ayant "raison". Ca le fait aussi sur un autre site complétement différent en PS 1.7.2.4 avec idem un thème acheté (différent du site précédent) et le thème par défaut de PS légèrement modifié css et quelques tpl sur les 2 même éléments (hébergé chez ovh le premier étant chez o2switch) Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 27, 2019 Share Posted April 27, 2019 Le multi boutique en 1.7 n'est pas fonctionnel à 100%. Link to comment Share on other sites More sharing options...
sbourdon Posted April 27, 2019 Author Share Posted April 27, 2019 Enfin là on n'est pas dans du détail ... àça touche le panier pas une fonction perdue au fin fond du site qu'on utilise qu'une fois de temps en temps... En fouillant dans le cache smarty bien qu'ayant 2 tpl différents pour le panier je ne trouve qu'une seule version du tpl en question. Selon que j'ai chargé le site 1 ou le site 2 j'ai dans le répertoire /var/cache/prod/smarty/compile/35/65/5e/ la version 1 ou la version 2 dans le même fichier 35655e6409b6198f29dd6e732ef9598dec599880_2.module.psshoppingcartpsshoppingc.php. Logiquement je devrais en avoir 2 une pour le thème un l autre pour le thème 2... Donc ou le multiboutique n'est vraiment pas fonctionnel voir pas utilisable (le panier c'est primordial dans un site e-commerce) ou il y a un soucis avec smarty ?! Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 27, 2019 Share Posted April 27, 2019 il y a 6 minutes, sbourdon a dit : Donc ou le multiboutique n'est vraiment pas fonctionnel voir pas utilisable Perso je penche pour cette réponse. Je crois avoir déjà lu que l'amélioration du multi boutique sur la 1.7 sera sur la 1.7.6. Link to comment Share on other sites More sharing options...
sbourdon Posted April 27, 2019 Author Share Posted April 27, 2019 alala .... prestashop ... bon je vais pas m'arracher les cheveux je vais prendre le mieux disant des 2 thèmes sur ces 2 points et fusionner pour n'avoir qu un seul tpl adapté avec le css qui à l'air lui de ne pas poser de soucis ... Merci pour vos réponses Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 27, 2019 Share Posted April 27, 2019 Je ne sais pas si en 1.7 cela fonctionne mais vous pouvez identifier l'id boutique en l'ajoutant en class à la balise body pour différencier vos css par boutique. Comme cela vous n'aurez qu'un seul css pour les 2 boutiques. {if isset($cart->id_shop) && $cart->id_shop} shop-{$cart->id_shop}{/if} Link to comment Share on other sites More sharing options...
Janett Posted April 28, 2019 Share Posted April 28, 2019 (edited) Dans le module ps_shoppingcart pouvez vous tenter de chercher return $this->fetch('module:ps_shoppingcart/ps_shoppingcart.tpl'); et de remplacer par return $this->display(__FILE__, 'ps_shoppingcart.tpl'); Une réponse intéressante : https://github.com/PrestaShop/PrestaShop/issues/9763#issuecomment-460609145 Edited April 28, 2019 by Janett (see edit history) 1 Link to comment Share on other sites More sharing options...
sbourdon1 Posted November 25, 2019 Share Posted November 25, 2019 Bonjour, Désolé pour le temps de réponse, faute de temps j'avais mis ce sujet de coté. En effet le lien m'a permis d'avancer. J'ai créé 5 overides pour les modules commun qui ont dans mes 2 thèmes des tpl différents. Je les joints dans le zip. Ils sont a déposer dans overides/modules. Puis bien sur de supprimer le fichier class_index.php dans /var/cache/prod (ou dev si vous e^tes en dev pour tester bien sur). Si vous avez d'autres modules impactés il faudra créer d'autres overides ... Bien respecter les protocoles des fct __construct() et de renderWidget qui sont parfois différents selon les modules. Pour cela il suffit de regarder dans la classe d'origine de chaque module et de bien reporter le bon fichier tpl. Merci pour votre aide... PS : c'est effectivement assez hallucinant que ce soucis majeur du multi boutique ne soit pas corrigé à la basse (dans les fonctions natives de PS) ... la solution n'étant pas des plus complexes à mettre en place. modules.zip 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