Jump to content

[Résolu] Bloc Panier seulement affiché quand le client se connecte sur le site (ou sur certaines pages et pas d'autres)


wbbz

Recommended Posts

Bonjour,

Est-il possible de ne faire apparaître le Bloc Panier que pour les clients qui se sont connectés sur le site internet ?
D'avoir donc la possibilité de n'activer le module que sur des pages accessibles à des personnes enregistrées sur le site prestashop.

Ou, si ce n'est pas possible, on ne sait jamais, de pouvoir choisir les pages où il doit/ne doit pas s'afficher (comme pas exemple la page d'accueil si on ne veut pas le voir apparaître dès la première page, etc.) ?

Cordialement

Link to comment
Share on other sites

Est-il possible de ne faire apparaître le Bloc Panier que pour les clients qui se sont connectés sur le site internet ?
D'avoir donc la possibilité de n'activer le module que sur des pages accessibles à des personnes enregistrées sur le site prestashop.


Editez votre fichier /modules/blockcart/blockcart.php
et remplacez la méthode :
   public function hookRightColumn($params)
   {
       global $smarty, $page_name;

       $smarty->assign('order_page', $page_name == 'order');
       $this->smartyAssigns($smarty, $params);

       return $this->display(__FILE__, 'blockcart.tpl');
   }



par

   public function hookRightColumn($params)
   {
       global $smarty, $page_name, $cookie;

       if ($cookie->isLogged()) {
           $smarty->assign('order_page', $page_name == 'order');
           $this->smartyAssigns($smarty, $params);

           return $this->display(__FILE__, 'blockcart.tpl');
       }
   }



Ca devrai fonctionner.

Ou, si ce n'est pas possible, on ne sait jamais, de pouvoir choisir les pages où il doit/ne doit pas s'afficher (comme pas exemple la page d'accueil si on ne veut pas le voir apparaître dès la première page, etc.) ?


Vous pouvez aussi contrôler les pages qui ne doivent pas l'afficher dans l'onglet "Modules" => "Positions"
Choisissez dans la liste "Bloc panier vx.x" à l'ancre correspondante et ajoutez vos pages dans "Exceptions:".

Bien cordialement
Link to comment
Share on other sites

Merci.
Pour la deuxième option j'ai trouvé.
Ce que je voudrais faire c'est bien la première option, que le panier ne soit visible que pour les inscrits au site.
J'ai essayé les modifications, le panier n'est vu que par un "connecté" au site.
Mais ce qu'il se passe c'est que quand on est déconnecté, tous les modules de droite où il y a notamment celui de la Newsletter et où il y avait le panier avant sont décalés de la largeur de ces modules vers la gauche, ce qui réduit l'espace du contenu central. On voit une colonne vide là où étaient le panier et les autres modules avant.
Je suis revenu à l'ancienne configuration mais le panier, qui est donc de nouveau visible, est décalé avec les autres modules de droite comme avec les modifications que j'avais faites. On dirait que ça ne veut pas revenir comme avant.
Comment faire pour que les modules se positionnent comme avant ? La modification a-t-elle modifiée la base de données ?

38019_o3PLovAdqY1PppqZ5zpr_t

Link to comment
Share on other sites

Chez moi, la modification fonctionne parfaitement ;)

Ce que je vous donne comme changement n'agit en rien sur la base de données, et ceci d'ailleurs n'a rien à voir.
La modification se place simplement sur la visualisation du template blockcart.tpl dans sa colonne.

Vous avez soit mal mis en place le bout de code que je vous ai donné, soit vous avez un autre problème ailleurs ou un configuration particulière. Mais je peux vous assurer que ce que je vous ai donné fonctionne, et cela reste une modification ultra simple à la base.

Bien cordialement

Link to comment
Share on other sites

Je ne comprends pas ce qu'il se passe car j'ai même re-téléchargé le fichier sur le serveur mais rien ne revient comme avant.
Et même avec le module panier complètement désactivé ça reste pareil, ce qui n'est pas "logique".

Je viens de faire la même chose en local et pas de soucis, je n'y comprends rien.
Je ne vois pas quoi faire pour que ça revienne comme avant.

Link to comment
Share on other sites

Bonjour,
Avez-vous essayé de forcer le rafraîchissement de la page en faisant "Ctrl-F5".
Ou encore de configurer temporairement (le temps de faire vos vérifications) $smarty->force_compile à "true" dans le fichier /config/smarty.config.inc.php ?
Cordialement.

Link to comment
Share on other sites

F5 oui.
$smarty->force_compile à “true” dans le fichier /config/smarty.config.inc.php : c'est déjà ainsi.

Je viens aussi de désactiver tous les modules à droite mais ça ne change rien. Il y a un peu plus de vide mais la partie contenant les photos de téléphones ne s'adapte pas et reste à la même largeur.

Ayant fait plusieurs tests en local pour comparer je commence à croire qu'il ne s'agit en fait que d'un "problème" de Prestashop qui n'adapte pas la largeur des contenus en fonction de la zone de 960/980 pixels. Peut-être est-ce dû seulement au template par défaut, sur lequel je travaille.
Car ce qui serait bien ça serait tout de même que la largeur de la zone sans le panier soit équivalente à la largeur de la zone avec le panier, que par exemple la largeur de la zone centrale s'adapte aux 960/980 pixels si tous les modules de droite sont désactivés et/ou si les modules de gauche n'existent pas.
Le problème vient tout simplement du fait que le site en mode "connecté" à le module panier qui s'affiche sur la droite et le module mon compte sur la gauche, mais quand on n'est plus connecté ça fait au moins une largeur de module(s) en moins, le template ne s'adapte pas aux modules qu'il y a en moins sur le site.

Désolé, ce n'est apparemment qu'un problème de design, de modules... dans Prestashop, peut-être bien juste avec le template par défaut. La cause était bien plus simple. Ce qui ne règle rien :).
Merci

Link to comment
Share on other sites

  • 1 year later...

Bonjour à tous,

 

Je relance ce post car j'ai appliqué la méthode du post de Devnet qui a fonctionné pour le bloc panier.

 

J'aimerai dorénavant en faire de même avec le bloc catégories. J'ai donc reproduit la méthode en changeant blockcart.tpl par blockcategories mais cela ne fonctionne pas.

 

Savez-vous comment faire pour que mon block catégories ne soit sur ma colonne de gauche que pour les inscrits ?

 

Merci beaucoup !

Link to comment
Share on other sites

  • 6 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...