Comment rendre certaines pages CMS privées dans PrestaShop - Principales questions et réponses de programmation?

Posted On: Sep 14, 2018

Categories: Carros y plataformas de compras

Tags: prestashop , module , boutique privée

Avec le temps, l’expérience d’achat de la boutique en ligne change radicalement. Il fut un temps où il n’y avait que quelques paniers d’achat avec seulement quelques options, mais maintenant la tendance est complètement changée. Le plus grand exemple est que même les médias sociaux comme Facebook permettent aux commerçants de vendre leurs produits. Alors que les paniers d’achat permettent à leurs utilisateurs de modifier le code source et de le faire selon leur propre choix. Les commerçants utilisent donc plusieurs techniques pour en tirer le maximum d’avantages.

L’idée qui est maintenant à la mode sur le marché est de cacher la boutique au grand public, c’est-à-dire qu’ils ne verront qu’une page de connexion et qu’ils devront donner les informations d’identification pour y accéder. Certains autres marchands n’autorisent l’accès qu’à certaines pages du magasin et bloquent le reste. L’idée est très utile pour les propriétaires de magasins qui ont une forte clientèle avec un inventaire limité. Ils permettent donc l’accès à l’achat dans le magasin uniquement à leurs utilisateurs VIP.

Pour rendre les magasins privés, les commerçants cherchent toujours à trouver un moyen de rendre leur magasin privé. Ces fonctionnalités ne sont pas disponibles par défaut et les utilisateurs doivent soit payer pour un module de boutique privée et ajouter quelques ajustements lui-même pour le faire.

Ci-dessous, nous avons répertorié certains problèmes et leurs solutions liées à Private Shop.

Question n°1: Bonjour, je souhaite écrire mon propre module de boutique privée. Les exigences sont que les visiteurs seront redirigés vers la page de connexion lorsqu’ils souhaitent visiter le site Web.

Réponse: La solution est très simple et vous n’avez pas besoin d’écrire un nouveau module. Juste quelques modifications de base aideront;

Goto
classecontrollerFrontController.php

Trouver la fonction
fonction publique init()

Collez le code mentionné ci-dessous après
parent::init();


if (!$this->context->customer->isLogged() && $this->php_self != 'authentication' && $this->php_self != 'password')
Tools::redirect('index.php?controller=authentication?back=my-account'); 

Question n°2: Bonjour ! Je veux faire un nouveau module pour la boutique de peau privée. J’ai de l’expérience dans le développement de modules. J’ai donc juste besoin de quelques conseils à ce sujet.

Réponse: Vous pouvez utiliser un crochet d’en-tête qui sera affiché sur la page de connexion/inscription. Vous devez également utiliser d’autres scripts pour masquer toutes les autres sections du site Web.

Question n°3: J’ai une boutique PrestaShop avec la version 1.6. Je veux une catégorie X qui ne devrait être accessible qu’au groupe de clients Z. Lorsque je l’ai implémenté et que j’ai essayé d’aller en classe sans connexion, cela m’a donné l’erreur. Est-il possible d’afficher un formulaire de connexion pour cela, afin qu’il ne me donne pas l’erreur?

Réponse: Vous pouvez le faire en modifiant le fichier categorycontroller.php, aucun tiers n’est nécessaire.

 

Localisez ceci

              if(!$this->category->checkAccess($this->context->customer->id))

              {

                      header('HTTP/1.1 403 Forbidden');

                      header('Status: 403 Forbidden');

                      $this->errors[]=Tools::displayError('You do not have access to this category.');

                      $this->customer_access =false;

              }

Et changez-le en :

if(!$this->category->checkAccess($this->context->customer->id))

              {

                      Tools::redirect($this->context->link->getPageLink('authentication'));

              }v

Question n°4: Bonjour, je veux cacher une page CMS à la visualisation par les visiteurs. Comment est-ce possible?

Réponse: vous pouvez utiliser la condition simple if dans le fichier cms.tpl,

quelque chose comme

 

{if $logged}

CONTENTS OF CMS.TPL HERE

{/if}

ajouter une autre condition si

 

au lieu de {$cms->content}, utilisez ceci :

{if $smarty.get.id_cms==40}{if $logged}    {$cms->content}{else}    {l s='access forbidden, please log in first to view this page'}{/if}{else}   {$cms->content}{/if}

Après cela, recompilez le thème (paramètres avancés > onglet performance dans Back office)

Question n°5: Je souhaite créer une page d’inscription et de connexion au début de ma boutique afin que seuls les clients enregistrés et connectés puissent accéder au magasin.

Réponse: Il y a deux solutions pour cela. Payant et gratuit. Vérifiez celui qui peut vous aider.

Payant: Installez un module Boutique privée sur votre boutique qui vous permettra ces fonctionnalités.

Gratuit : L’autre façon est de créer des groupes de clients. Toutes les personnes peuvent voir vos produits, mais elles ne peuvent pas voir le prix ou commander le produit tant qu’elles n’ont pas été ajoutées à ce groupe de clients autorisé. Bien que cette solution ne puisse pas cacher les produits. Donc, la solution payante sera meilleure.

Pour plus d’informations à ce sujet, rendez-vous ici; Onglet : clients -> groupes et clients -> clients.

Note: Ces questions sont répondues par les meilleurs développeurs de la communauté et ne reflètent pas FMEModules.