matt.webcroisieres Posted May 25, 2011 Share Posted May 25, 2011 Pour le site sur lequel je suis en train de travailler je dois faire un formulaire pour une demande de devis avec un contrôle de saisie.J'ai réussi la création du module, l'aspect visuel est ok mais le traitement pas du tout..J'aimerais bien que vous m'éclairiez sur la façon de procéder, histoire de me mettre sur la voie.Merci d'avoir pris le temps de lire mon post. Link to comment Share on other sites More sharing options...
mathieu.e Posted May 25, 2011 Share Posted May 25, 2011 Normalement tu dois pouvoir récupérer les variables de ton formulaire directement dans ton module. Testes le code suivant pour voir si tu récupère quelques chose : <?php if( isset ($_POST)){ echo 'les variables de mon formulaire : '; print_r($_POST); } Si tu n'arrives pas à voir les variables de ton formulaire c'est qu'il doit y avoir des problèmes au niveau de ton formulaire. Dans ce cas donnes nous tes codes pour que l'on puisse t'éclairer. Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Les valeurs je l'ai est bien récupérer, pour ça il n'y a pas de soucis. Après ce qui me bloc c'est l'envoie de mail et le contrôle de saisie... Je sais comment faire pour envoyer des mails avec la fonction mail, mais en Prestashop rien n'est pareil lol Je sais aussi qu'il faut utiliser Jquery pour le controle de saisie...Merci de me mettre sur la voie Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 Bonjour,Pour l'envoie de mail avec Prestashop utilises la méthode Send de la classe Mail. Tu trouveras le fichier de classe dans classes/Mail.php . Elle n'est pas très difficile à utiliser et tu pourras ainsi profiter des templates de mails. Enfin pour ce qui est du contrôle du formulaire, tu fais bien de faire çà en jQuery. Si tu ne maitrises pas bien tu trouveras facilement de bon tutoriaux sur le net. Tu as la possibilité de soit : Créer un fichier .js et l'ajouter à l'appel de ton module avec ce code : Tools::addJS(($this->_path).'monfichier.min.js'); Dans ce cas place le fichier dans le dossier de ton module. Sinon tu peux l'afficher dans ton .tpl et dans ce cas n'oublies pas les balises {literal} {/literal} autour de ton code .jsTiens moi au courant de ton avancement, Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Merci beaucoup de ton aide. Je vais essayer de suite. Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Tout ce qui est récupération des variables et l'envoie de mail doit se faire dans le fichier php ou j'ai créé le module ou dans un autre fichier ?pour le moment j'ai:blockdevis.phpblockdevis.tpl Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 Pour faire quelque chose de propre mets tout dans ton fichier blockdevis.php Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 D'accord merci.Mais maintenant j'ai une erreur... "Erreur - Pas de code ISO pour l'email !"Voici mon code: if (isset($_POST['submitDevis'])) { $idProduct = $_POST['Produit']; $depart = $_POST['depart']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; $telephone = $_POST['telephone']; $email = $_POST['email']; $commentaires = $_POST['commentaires']; $from = '[email protected]'; Mail::Send(intval($cookie->id_lang), 'contact', 'Test', array('{email}' => $from, '{customer_firstname}' => $prenom, '{customer_lastname}' => $nom, '{company}' => $company), '[email protected]', 'Service administratif', $from); } Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 Est-ce que à la place de intval($cookie->id_lang) tu peux mettre 2 (correspond au français) pour tester. Sinon est que tu as mis global $smarty, $cookie; au début de la fonction que tu as crée Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 C'était bien le : global $smarty, $cookie; Merci une fois de plus !!!Par contre maintenant sur mon mail, je reçois uniquement l'adresse que j'ai mis en dur. Les variables POST ne marche pas.Pourtant lorsque je fais un var_dump, j'ai les valeurs Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Je dois faire une fonction dans la classe mail ?Et ainsi faire la construction de mon email ? Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 Je pense que ce que tu as oublié de faire c'est d'assigner tes variables à smarty Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 $smarty->assign('message',$nom, $prenom);Si c'est la bonne syntaxe... oui je l'ai faite l'assignation. Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 Non ce n'est pas la bonne syntaxe. La voici : $smarty->assign(array( 'nom' => $nom, 'prenom' => $prenom, 'message' => $message )); Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Merci beaucoup!! Maintenant l'envoie des emails sont fini, faut que je m'attaque au contrôle de saisie et à l'insertion dans une bdd visible depuis l'administration xD Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 Bon courage. Ravis d'avoir pu t'aider. Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Tu peux m'éclairer pour l'insertion dans la base de donnée ? Et surtout comment faire pour la rendre visible depuis l'administration. Il faut que je rajoute un onglet ?Dsl de t’embêter lol Link to comment Share on other sites More sharing options...
mathieu.e Posted May 26, 2011 Share Posted May 26, 2011 A force je serais obligé de te demander une rémunération. Je te laisse regarder un peu. Je pense que tu apprendras mieux comme çà. Regardes les classes Mysql et Db tu trouveras ton bonheur. Je te mets un petit bout de code : Db::getInstance()->Execute(); Tu en trouveras plein dans les modules fournis pas Prestashop.Pour les onglets dans l'admin inspires toi d'un module qui s'affiche en admin.Si tu as vraiment un problème précis mets ta question sur le forum. Link to comment Share on other sites More sharing options...
matt.webcroisieres Posted May 26, 2011 Author Share Posted May 26, 2011 Merci de ton aide 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