Jean-Baptiste Posted May 23, 2018 Share Posted May 23, 2018 (edited) Bonjour, Je développe un module permettant de récupérer les clients d'un certain groupe, de selectionner le client, puis de lui envoyer un email depuis le BO admin. Je récupère la liste des clients et je peux en choisir un. Cependant je n'arrive pas à lier une action (= fonction PHP) au button de mon fichier TPL du module. Comment procéder (en passant par du JS ou non) ? customsignup.php public function displayForm() { // Get default language $default_lang = (int)Configuration::get('PS_LANG_DEFAULT'); // Requete MYSQL $rq ='select * from `'._DB_PREFIX_.'customer` where `id_default_group` = 4'; $result = Db::getInstance()->ExecuteS($rq); $this->context->smarty->assign( array( 'my_module_name' => Configuration::get('CUSTOM_SIGNUP'), 'customers' => $result ) ); return $this->display(__FILE__, 'mycustomsignup.tpl'); } mycustomsignup.tpl <select id="client_select"> <option> -- Select client </option> {foreach $customers as $customer} <option value = {$customer.id_customer}> {$customer.firstname} {$customer.lastname} - {$customer.company} </option> {/foreach} </select> <br> <button id="show_client_btn" type="button" class="btn btn-default" > Send Email </button> Edited May 24, 2018 by Jean-Baptiste (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 23, 2018 Share Posted May 23, 2018 Peux-être commencer à apprendre le HTML avant de vouloir coder pour le web? Ta solution s'appelle <form> Link to comment Share on other sites More sharing options...
Jean-Baptiste Posted May 23, 2018 Author Share Posted May 23, 2018 Je vais passer outre votre insolence pour avancer sur le sujet. Que dois-je mettre dans "action" du form pour que la valeur du champs passe dans la fonction getContent() { Tools:isSubmit([...]){} } ? Link to comment Share on other sites More sharing options...
doekia Posted May 23, 2018 Share Posted May 23, 2018 Je ne suis pas insolent mais réaliste - pour preuve ta seconde question - désolé mais tu n'as pas le début de l'ombre des compétences requises. Link to comment Share on other sites More sharing options...
BeComWeb Posted May 24, 2018 Share Posted May 24, 2018 Bonjour. Il faut vous pencher sur la documentation qui explique comment créer un module Prestahop et en particulier la partie qui traite du HelperForm puisque c'est elle qui permet de générer des formulaires en back-office. Et il y aussi des choses à revoir : - vous créez une variable $default_lang mais vous ne vous en servez pas - pour transmettre le nom du module à Smarty il suffit de faire $this->name - la classe Group a une méthode getCustomers() donc pas la peine de recréer une requête SQL pour ça. Link to comment Share on other sites More sharing options...
Jean-Baptiste Posted May 24, 2018 Author Share Posted May 24, 2018 (edited) Bonjour @BecomeWeb, Merci pour les informations. La variable $default_lang est un résidu d'un copier coller, je ne m'en sers pas effectivement. Il y a t-il un avantage à utiliser la fonction getCustomers() au lieu de faire directement une requête SQL ? Je n'utilise finalement pas HelperForm mais directement du html et les variables transmises du fichier php au tpl grâce à la fonction $this->context->smarty->assign() pour plus de souplesse. J'ai terminé le développement de mon module, la réponse que j'attendais dans l'input action du form est : AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'), que je fais passer via le context pour la récupérer dans mon fichier tpl. Je peux ensuite traiter les informations de mon form dans la fonction getContent() en testant la valeur de la variable Tools::isSubmit(). @doekia D'après vos récentes réponses sur les sujets du forum, vous semblez peu enclin à aider les débutants sur prestashop en répondant de manière détestable. J'observe également que vous n'arrivez pas configurer correctement votre certificat SSL votre site web de contact. N'hésitez pas à me contacter si vous rencontrez des difficultés, vous pourriez alors peut être m'offrir des cafés à 3€. Edited May 24, 2018 by Jean-Baptiste (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 24, 2018 Share Posted May 24, 2018 (edited) SSL ? contact? où ? vu - merci! encore les cordonniers les plus mal chaussés! Tu te rends bien compte que personne ne peux te proposer la réponse que tu attendais avec la question que tu avais posé ? Et débutant c'est une chose mais ne pas savoir qu'il faut un <form> pour envoyer des données, désolé mais c'est la preuve de n'avoir aucune compétence. Après si tu avais ce form dans ton tpl et que tu l'avais caché, désolé je ne suis pas devin. Regarde mieux l'ensemble de mes réponse pour juger, il n'y a pas 3 minutes j'ai eu quelqu'un a qui je dis: "caractère dièse, le caractère sur la touche 3 de votre clavier sur un clavier français" et qui me répond "mais comment on fait, car ça me fait 3 ou " - Et désolé mais oui je lui ai répondu d'arrêter l'informatique! Edited May 24, 2018 by doekia (see edit history) Link to comment Share on other sites More sharing options...
BeComWeb Posted May 25, 2018 Share Posted May 25, 2018 (edited) 19 hours ago, Jean-Baptiste said: Je n'utilise finalement pas HelperForm mais directement du html et les variables transmises du fichier php au tpl grâce à la fonction $this->context->smarty->assign() pour plus de souplesse. Tu as réussi avec des méthodes traditionnelles et ça fait le taf. Mais penche toi quand même sur le fonctionnement du helper. Au début tu mettras un peu de temps à l'assimiler mais une fois que tu t'y seras fait tu gagneras du temps. Il renseigne les attributs du formulaire, génère du markup "Bootstrap" et pour certains inputs comme les switchs tu gagnes un temps fou. Edited May 25, 2018 by BeComWeb Piaf (see edit history) 1 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