Jump to content

Ajouter des champs dans le formulaire de contact


Recommended Posts

Bonjour à tous et à toutes,

J'ai réussi à rajouter des champs dans le formulaire de contact comme le nom, le prénom ... en modifiant le fichier "contact-form.tpl" ça s'affiche bien sur la page contact on peu remplir le formulaire sans souci sauf que :
1- j'ai mis des champs en obligatoire, ben sa marche pas le formulaire s'envoie même si ce champ n'est pas renseigné.
2- Lorsque je reçoie le formulaire il ne m'envoie que les champs par défaut (email et message) et pas les champs que j'ai rajouté.
J'en déduit qu'il y a un autre fichier à modifier mais je trouve pas lequel !

Merci d'avance pour votre aide.

Link to comment
Share on other sites

  • 2 months later...

merci de ton post Boubou95.

J'ai réussi à faire ce que je voulais. Voici ce que j'ai modifé pour ajouté un champ "Nom et Prénom" (il s'agit d'un champ non obligatoire, donc pas de vérification) :

- dans themes/montheme/contact-form.tpl, ajout du champ :


{l s='Nom prenom'}
<input type="text" id="nomPrenom" name="nomPrenom" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" />



- dans contact-form.php, ligne 22 (ou pas loin), récupération de la valeur postée :

if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{nomPrenom}' => $_POST['nomPrenom'], '{message}' => stripslashes($message)), $contact->email))



- dans mails/fr/contact.html, ligne 21 (ou là où vous voulez que ça s'affiche dans le corp du mail) :

Nom et Prénom : {nomPrenom}




- dans mails/fr/contact.txt : idem que contact.html mais pour le mail au format texte

Voilou, en espérant que cela puisse servir à quelqu'un d'autre !

Link to comment
Share on other sites

  • 5 months later...

Bonjour,
j'ai également essayé la solution de kimweb et ça marche très bien. Seulement pour les besoins du site, il faut que je vérifie les champs, par exemple que le champ 'Téléphone' comprenne bien 10 chiffres.
Je n'y arrive pas :(
someone could help me ?

Link to comment
Share on other sites

  • 6 months later...
  • 2 months later...

Hello à tous! Alors ton "tuto" est vraiment génial, ça marche. Parcontre est-ce normal que je reçoive autant de mail que de champ rajoutés?

Exemple;
Après avoir rajouté le champ Prénom, je reçois un mail normal avec tout bien rempli et un autre ou à la place du prénom est marqué (ici dans mon cas)-> Prénom :{firstame} au lieu de Prénom : arnaud

Une peite idée?

En tout cas merci beaucoup :D

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,
J'ai essayé également d'ajouter plusieurs champ mais ça ne fonctionne pas bien,
puisque je reçois aussi autant d'emails différents qu'il y a de champs !! Mais aucun d'eux n'intègre tous les champs en même temps.

Mon code de contact-form.tpl ligne 31:


{l s='Nom prenom'}
           <input type="text" id="nomPrenom" name="nomPrenom" value="{$nomPrenom}" />



{l s='CP et Ville'}
           <input type="text" id="CPville" name="CPville" value="{$CPville}" />



{l s='Telephone'}
           <input type="text" id="tel" name="tel" value="{$tel}" />



{l s='E-mail address'}
           <input type="text" id="email" name="from" value="{$email}" />



{l s='Message'}
            <textarea id="message" name="message" rows="7" cols="70">{if isset($smarty.post.message)}{$smarty.post.message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>



Et mon code de contact-form.php à partir de la ligne 22:

else
       if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{nomPrenom}' => $_POST['nomPrenom'], '{message}' => stripslashes($message)), $contact->email))
       if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{CPville}' => $_POST['CPville'], '{message}' => stripslashes($message)), $contact->email))
       if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{tel}' => $_POST['tel'], '{message}' => stripslashes($message)), $contact->email))
       {
       if (intval($cookie->id_customer))
           $customer = new Customer(intval($cookie->id_customer));
       if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{message}' => stripslashes($message)), $contact->email, $contact->name, $from, (intval($cookie->id_customer) ? $customer->firstname.' '.$customer->lastname : $from)))
           $smarty->assign('confirmation', 1);
       else
           $errors[] = Tools::displayError('an error occurred while sending message');



Je ne vous mets pas le code de contact.html, je sui ssûr que c'est bon.
Si effectivement quelqu'un avait une idée ? Pour un novice du php !
Merci

Link to comment
Share on other sites

  • 3 weeks later...

Il n'y aurait pas un développeur qui pourrait nous donner un coup de main car, à ce jour je reçois autant de mails qu'il y a de champs ajoutés dans mon formulaire de contact, c'est le bordel !!!
Si une âme charitable pouvait nous apporter ses lumières !
Merci

Link to comment
Share on other sites

  • 2 weeks later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...