Jump to content

Modification du formulaire de contact


Recommended Posts

Bonjour a tous,

Je travail actuellement sur la réalisation d'un site catalogue à l'aide de Prestashop. Je ne rencontre pas de problème particulier sur les modifications visuelles, je n'ai pas de soucis avec le CSS.
Cependant, il y a une chose sur laquelle je bloque. J'aimerai modifier le formulaire de la page contact.

Je m'explique, j'ai ajouté dans le fichier contact-form.tpl une liste déroulante proposant aux personnes de choisir un produit sur lequel il souhaite obtenir plus d'informations. La modification apparait bien à l'affichage, mais, n'étant pas très à l'aise avec PHP, je ne sais pas vraiment comment faire pour récupérer l'information et que le nom du produit choisi apparaisse dans l'e-mail.

Voilà j'espère avoir été clair et que vous pourrez me venir en aide.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Bjr,

Tu vas peut-être pouvoir t'inspirer ce que j'ai fait pour un site. C'est en version 1.3.3.0, mais ça ne devrait pas changer grand chose.
Cf : http://www.naturalbag.fr/contact-form.php

contact-form.php :

<?php
$useSSL = true;

include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/header.php');

$errors = array();

$smarty->assign('contacts', Contact::getContacts(intval($cookie->id_lang)));

if (Tools::isSubmit('submitMessage'))
{
   $message = Tools::htmlentitiesUTF8(Tools::getValue('message'));

// 04/05/2011 Johann Corbel
   $quantity = Tools::htmlentitiesUTF8(Tools::getValue('quantity'));
   $delivery_date = Tools::htmlentitiesUTF8(Tools::getValue('delivery_date'));
   $delivery_place = Tools::htmlentitiesUTF8(Tools::getValue('delivery_place'));
   $personnalization = Tools::htmlentitiesUTF8(Tools::getValue('personnalization'));
   $budget = Tools::htmlentitiesUTF8(Tools::getValue('budget'));


   if (!($from = Tools::getValue('from')) OR !Validate::isEmail($from))
       $errors[] = Tools::displayError('invalid e-mail address');
   elseif (!($message = nl2br2($message)))
       $errors[] = Tools::displayError('message cannot be blank');
   elseif (!Validate::isMessage($message))
       $errors[] = Tools::displayError('invalid message');
   elseif (!($id_contact = intval(Tools::getValue('id_contact'))) OR !(Validate::isLoadedObject($contact = new Contact(intval($id_contact), intval($cookie->id_lang)))))
       $errors[] = Tools::displayError('please select a contact in the list');
   else
   {

// 04/05/2011 Johann Corbel
       $message2 =    "Nombre de sacs : " . $quantity . "
" .
                   "Date de livraison souhaitée : " . $delivery_date . "
" .
                   "Lieu de livraison : " . $delivery_place . "
" .
                   "Type de personnalisation : " . $personnalization . "
" .
                   "Budget : " . $budget . "
" .
                   "Message : " . $message;

       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}' => $from, '{message}' => stripslashes($message)), $contact->email, $contact->name, $from, (intval($cookie->id_customer) ? $customer->firstname.' '.$customer->lastname : $from)))
       if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $from, '{message}' => stripslashes($message2)), $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');
   }
}

$email = Tools::safeOutput(Tools::getValue('from', ((isset($cookie) AND isset($cookie->email) AND Validate::isEmail($cookie->email)) ? $cookie->email : '')));
$smarty->assign(array(
   'errors' => $errors,
   'email' => $email
));

$smarty->display(_PS_THEME_DIR_.'contact-form.tpl');
include(dirname(__FILE__).'/footer.php');
?>

Link to comment
Share on other sites

Merci pour votre aide Johann,

Je pense effectivement que cela peut m'avancer. Sa faisait un moment que j'essayais de m'en sortir et malgré tout mes essais je n'avais pas réussi à trouver une solution.

Je vais m'y remettre rapidement en m'aidant de votre fichier.

Merci également à vous Roberto125 mais je vais déjà essayer de m'en sortir tout seul ;)
C'est en essayant qu'on apprend

Xavier

Link to comment
Share on other sites

Bonsoir xav3438,

merci pour votre message. Si toutefois, vous souhaitez mettre en place une solution SSL, sachez que les meilleures Autorités de Certification sont:

_ VeriSign
_ Thawte
_ GeoTrust
_ RapidSSL
_ GlobalSign

Vous êtes le bienvenu à mettre en place un certificat SSL de type FREE SSL gratuit pendant 30 jours et sans engagement:
http://www.networking4all.com/fr/certificats+ssl/produits/par+type/

Link to comment
Share on other sites

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...