Daaaaad Posted February 5, 2019 Share Posted February 5, 2019 Bonjour à tous, Je viens de découvrir un truc sympa : La possibilité de définir au niveau du contrôleur s'il faut être authentifié ou non pour y accéder 👍 class CategoryController extends CategoryControllerCore { public $auth = true; Cependant, je n'ai pas trouvé comment faire pour rediriger ensuite le visiteur vers la catégorie qu'il a tenté de visualiser, une fois connecté : class CategoryController extends CategoryControllerCore { public $auth = true; public $authRedirection = 'category'; Je spécifie bien le $authRedirection mais il ne connait pas l'ID de la catégorie 😔 Une idée quelqu'un ? Merci 😀 Link to comment Share on other sites More sharing options...
Eolia Posted February 6, 2019 Share Posted February 6, 2019 Dans la suite de vos découvertes recherchez ce qui concerne le paramètre back^^ Link to comment Share on other sites More sharing options...
Daaaaad Posted February 6, 2019 Author Share Posted February 6, 2019 Merci @Eolia, je le connais bien ce paramètre 😉 Il est effectivement utilisé par le mécanisme d'authentification... si je tente d'accéder à une des catégories de mon site sans être connecté (avec le $auth = true et le $authRedirection = 'category' en place) je suis bien redirigé vers l'authentification avec le paramètre "back" présent : https://www.[monsite].com/connexion?back=category Petit hic : CategoryController nécessite l'id_category et il n'est pas défini... donc je me retrouve avec une erreur 404 😔 As-tu déjà fait ce genre de choses ? Link to comment Share on other sites More sharing options...
Eolia Posted February 6, 2019 Share Posted February 6, 2019 le back doit être assigné lors de la redirection (controller=category&id_category=ton_id) Link to comment Share on other sites More sharing options...
hhennes Posted February 6, 2019 Share Posted February 6, 2019 Bonjour, Sinon tu peux surcharger la fonction init du controller et rajouter la ligne suivante après la définition de $this->category et la vérification que la catégorie est bien chargée. public function init() { $id_category = (int) Tools::getValue('id_category'); $this->category = new Category( $id_category, $this->context->language->id ); if (!Validate::isLoadedObject($this->category) || !$this->category->active) { Tools::redirect('index.php?controller=404'); } //Redirection $this->authRedirection = $this->context->link->getCategoryLink($this->category); parent::init(); //... Suite du code } 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