jefferson45 Posted January 24, 2017 Share Posted January 24, 2017 Bonjour à tous, Je cherche à créer une page CMS qui sera privée et autorisée uniquement à ceux qui ont le mot de passe. Donc au début, dans la page CMS, il devrait y avoir un formulaire avec le nom et le mot de passe et si ils donnent le bon mot de passe il y aurait le contenu de la page sinon il y a un message d'erreur. Je sais le faire en dur avec PHP mais j'ignore comment on peut l'implémenter en prestashop. Si vous pouviez m'aider ce serait bien Merci par avance. FOX Link to comment Share on other sites More sharing options...
Matt K. Posted January 26, 2017 Share Posted January 26, 2017 (edited) Bonjour ! Tu veux faire ça pour toutes les pages CMS ou juste une seule ? Edited January 26, 2017 by MattK (see edit history) Link to comment Share on other sites More sharing options...
jefferson45 Posted January 26, 2017 Author Share Posted January 26, 2017 Salut, Non je veux juste créer une seule page cms presse qui demandera un mot de passe et qui autorisera ceux qui ont le bon mdp à voir le contenu de la page sinon il les empeche. C'est la seule page qui sera privée, le reste de mes pages CMS sont publiques Merci pour ta réponse, FOX Link to comment Share on other sites More sharing options...
Matt K. Posted January 26, 2017 Share Posted January 26, 2017 (edited) Ok. Déjà il te faut l'id de la page concernée. Ensuite, ce que tu peux faire c'est éditer cms.tpl de ton thème. {if isset($cms) && !isset($cms_category) && $cms->id == ID_CMS && !$user_allowed} <form method="post"> Username <input type="text" name="username"/> Password <input type="text" name="password"/> <input type="submit" value="envoyer"/> </form> {elseif isset($cms) && !isset($cms_category)} <!-- Code de base (j'ai modifié le if en elseif) --> Puis tu dois override la fonction initContent de CmsController ainsi <?php class CmsController extends CmsControllerCore { public function initContent() { parent::initContent(); if ($this->cms->id == ID_CMS) { if (Tools::getValue('username') == "user" && Tools::getValue('password') == "pwd") { $this->context->smarty->assign('user_allowed', true); } else { $this->context->smarty->assign('user_allowed', false); } } } } Pense bien à supprimer class_index dans cache. Remplace ID_CMS par l'id de ta page CMS. Je te laisse améliorer ce code à ta sauce. Bon courage ! Edited January 26, 2017 by MattK (see edit history) Link to comment Share on other sites More sharing options...
jefferson45 Posted January 26, 2017 Author Share Posted January 26, 2017 Merci beaucoup mec. Tu déchires je vais essayer et je te dirai 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