Yann74 Posted April 1, 2015 Share Posted April 1, 2015 (edited) Bonjour à toutes et à tous ! J'ai besoin de forcer la connexion ou l'inscription aux internautes pour une boutique sous Prestashop. Pour cela, j'utilisais un bout de code trouvé sur un topic du forum. Il fallait créer un fichier FrontController.php, intégrer le code ci-dessous et placer le fichier à override/classes/FrontController.php <?php class FrontController extends FrontControllerCore { public function init(){ $cookie = new Cookie('ps'); if ($this->php_self !=='authentication' && $this->php_self !=='password.php' && !$cookie->isLogged($this->guestAllowed)){ $this->auth=true; // } parent::init(); } } Cela fonctionnais très bien jusqu'à la version 1.6.0.14, depuis ça ne fonctionne plus Savez-vous ce qu'il faut changer pour que cela fonctionne à nouveau ? Edit : Pour faciliter la création d'un nouveau bout de code, voici les conditions : Utilisateur connecté ? Oui : Navigation sur tout le site autorisée Non : Redirection vers la page de connexion (et d'inscription) Edited April 1, 2015 by Yann74 (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted April 1, 2015 Share Posted April 1, 2015 Cela fonctionnais très bien jusqu'à la version 1.6.0.14, depuis ça ne fonctionne plus Jusqu'à 1.6.0.14 ? pour le logged, as tu essayé : $this->context->customer->logged Link to comment Share on other sites More sharing options...
Yann74 Posted April 1, 2015 Author Share Posted April 1, 2015 Merci pour votre réponse ! J'ai remplacé $this->guestAllowed par $this->context->customer->logged Mais ça ne fonctionne pas, j'ai encore accès à l'ensemble du site n'étant pas connecté Link to comment Share on other sites More sharing options...
Yann74 Posted April 1, 2015 Author Share Posted April 1, 2015 Jusqu'à 1.6.0.14 ? Oui j'avais fait la même site sous 1.6.0.9 il me semble et ce bout de code fonctionnais, j'ai du refaire le site pour diverses raisons en utilisant 1.6.0.14 et ce même bout de code ne fonctionne plus Link to comment Share on other sites More sharing options...
Yann74 Posted April 1, 2015 Author Share Posted April 1, 2015 Voilà le topic en question qui indiquait la marche à suivre : https://www.prestashop.com/forums/topic/189475-classe-identification-obligatoire-des-visiteurs/ Link to comment Share on other sites More sharing options...
coeos.pro Posted April 1, 2015 Share Posted April 1, 2015 l'override est bien pris en compte, tu as supprimé le fichier cache/class_index.php ? Link to comment Share on other sites More sharing options...
Yann74 Posted April 1, 2015 Author Share Posted April 1, 2015 L'erreur de bleu ! Ça marche !! Mille milliard de merci à vous Link to comment Share on other sites More sharing options...
Web Premiere Posted April 15, 2015 Share Posted April 15, 2015 Bonjour à tous, Le code marche très bien, mais j'aimerais pour ma part enlever de la page connexion : La topbar, le menu horizontal, la barre de recherche, le panier, en gros tout sauf le logo. Est-ce possible de créer une page de connexion suivant aucun tel presta en d'en faire une perso ? Merci d'avance pour votre aide. Cordialement, Pierre Link to comment Share on other sites More sharing options...
Yann74 Posted April 15, 2015 Author Share Posted April 15, 2015 Bonjour à tous, Le code marche très bien, mais j'aimerais pour ma part enlever de la page connexion : La topbar, le menu horizontal, la barre de recherche, le panier, en gros tout sauf le logo. Est-ce possible de créer une page de connexion suivant aucun tel presta en d'en faire une perso ? Merci d'avance pour votre aide. Cordialement, Pierre Bonjour, Vous pouvez enlever la barre de recherche, le panier etc... Cela se gère comme un module à désactiver donc. Link to comment Share on other sites More sharing options...
Web Premiere Posted April 15, 2015 Share Posted April 15, 2015 (edited) Aussi simple que cela Yann74... Merci en tout cas de l'information et de ta rapidité ! Autre question, est je sais qu'elle à était traité plein de fois,mais je la pose quand même : Ou et quelle code dois-je insérer si je veux que après le log, le client soit redirigé directement vers l'accueil ? Merci d'avance ! MODIFIE : J'ai trouvé et testé ce code qui marche très bien sur mon 1.6.0.13 : A placer dans : override/classes/controller : FrontController.php <?php class FrontController extends FrontControllerCore { public function init() { parent::init(); if (!$this->context->customer->isLogged() && $this->php_self != 'authentication' && $this->php_self != 'password') { Tools::redirect('index.php?controller=authentication?back=index.php'); } } } Cette dernière me redirige vers la page d'accueil comme souhaité. Je partage avec vous, C'est testé et approuvé. Pierre. Edited April 15, 2015 by Web Premiere (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