spawns Posted July 5, 2021 Share Posted July 5, 2021 Salut à tous, j'ai un client qui veut créer un PrestaShop pour ces partenaires uniquement. il me demande la possibilité de créer ses compte partenaire lui même via le back-office. Mais interdire la création de compte par le visiteur classique. Y a t'il une option dans ce sens sur PrestaShop ou éventuellement un module.... Merci d'avance de votre aide. Cdt @+ Link to comment Share on other sites More sharing options...
Eolia Posted July 5, 2021 Share Posted July 5, 2021 Désactivez la fonction d'enregistrement dans le controleur front AuthController.php if (Tools::getValue('create_account')) { $this->create_account = true; } a remplacer par if (Tools::getValue('create_account')) { $this->create_account = false; } et éditer la fonction postProcess() /** * Start forms process * @see FrontController::postProcess() */ public function postProcess() { if (Tools::isSubmit('SubmitCreate')) { $this->errors[] = Tools::displayError('Account creation is disabled.'); } if (Tools::isSubmit('submitAccount') || Tools::isSubmit('submitGuestAccount')) { $this->errors[] = Tools::displayError('Account creation is disabled.'); } if (count($this->errors)) { if ($this->ajax) { $return = array( 'hasError' => !empty($this->errors), 'errors' => $this->errors, 'isSaved' => false, 'id_customer' => 0 ); $this->ajaxDie(Tools::jsonEncode($return)); } $this->context->smarty->assign('account_error', $this->errors); } if (Tools::isSubmit('SubmitLogin')) { $this->processSubmitLogin(); } } Link to comment Share on other sites More sharing options...
Bllidz Posted July 5, 2021 Share Posted July 5, 2021 Bonjour, Techniquement si on ne laisse pas la possibilité de créer un compte,mais juste de se connecter c'est possible. il suffit d'avoir juste un bouton connexion et de supprimer "pas de compte ? Créez en un " CDT Jérémy Link to comment Share on other sites More sharing options...
Eolia Posted July 5, 2021 Share Posted July 5, 2021 Ben non car ça n'empêche pas d'envoyer un formulaire en post qui sera géré par le contrôleur. Cacher un lien n'empêche pas d'y accéder car https://www.votre_site/index.php?controller=authentication renverra bien le formulaire d'inscription et d'autre part vous n'empêchez pas la création de compte lors du processus de commande^^ Link to comment Share on other sites More sharing options...
Bllidz Posted July 5, 2021 Share Posted July 5, 2021 7 minutes ago, Eolia said: Ben non car ça n'empêche pas d'envoyer un formulaire en post qui sera géré par le contrôleur. Cacher un lien n'empêche pas d'y accéder car https://www.votre_site/index.php?controller=authentication renverra bien le formulaire d'inscription et d'autre part vous n'empêchez pas la création de compte lors du processus de commande^^ Certes c'est vrai, vous avez raison. Après dans mon optique je me disais que pour trouver le lien si les clients en question n'y connaissent rien, c'est une tache compliquée. Cependant ma "solution" est vrai qu'elle n'est pas correct après réflexion Link to comment Share on other sites More sharing options...
spawns Posted July 5, 2021 Author Share Posted July 5, 2021 (edited) Il y a 2 heures, Eolia a dit : Désactivez la fonction d'enregistrement dans le controleur front AuthController.php if (Tools::getValue('create_account')) { $this->create_account = true; } a remplacer par if (Tools::getValue('create_account')) { $this->create_account = false; } et éditer la fonction postProcess() /** * Start forms process * @see FrontController::postProcess() */ public function postProcess() { if (Tools::isSubmit('SubmitCreate')) { $this->errors[] = Tools::displayError('Account creation is disabled.'); } if (Tools::isSubmit('submitAccount') || Tools::isSubmit('submitGuestAccount')) { $this->errors[] = Tools::displayError('Account creation is disabled.'); } if (count($this->errors)) { if ($this->ajax) { $return = array( 'hasError' => !empty($this->errors), 'errors' => $this->errors, 'isSaved' => false, 'id_customer' => 0 ); $this->ajaxDie(Tools::jsonEncode($return)); } $this->context->smarty->assign('account_error', $this->errors); } if (Tools::isSubmit('SubmitLogin')) { $this->processSubmitLogin(); } } Merci Eolia, Par contre je n'ai pas le code que tu mentionnes dans AuthController.php . version presta 1.7.7.5. Et ou se trouve la fonction postProcess(), que dois je faire dedans... Merci de ton aide. Cdt Edited July 5, 2021 by spawns erreur (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 6, 2021 Share Posted July 6, 2021 Ah... en 1.7 je n'en sais rien, je me suis arrêté aux 1.6 moi^^ 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