Jump to content

Pré-remplissage du formulaire de contact (suivant le produit précédement consulté)


Recommended Posts

Bonjour,
Dans le template product.tpl, j'ai ajouté un lien "Contactez-nous pour plus d'information sur ce produit" qui pointe vers le formulaire de contact du site avec, en paramètre, l'id du produit.

Comment faire dans le formulaire de contact (contact-form.tpl) pour récupérer l'id passé en paramètre et pré-renseigner le corps du message avec le nom du produit ?

Je pense que ca doit être très à faire quand on connait Smarty mais ce n'est pas (encore) mon cas.
Merci par avance pour l'info.

Link to comment
Share on other sites

Hi All,
Merci pour la rapidité de vos réponses. Je vais regarder du coté de Prestatool pour répondre rapidement au besoin (et placer Résolu dans le sujet) mais en parallèle, j'aimerais faire mes premiers pas avec Smarty via cet exemple.

Donc, si un développeur peut me donner quelqes billes, ça serait sympas..

Link to comment
Share on other sites

Bon. Je viens de tester 2 modules à partir de Prestatools.
Le premier dont "la doc" ou plutôt le thread associé est en italien -> no comprendo ;)
L'autre "Contact à propos d'un produit v0.1", de Julien Dreux, qui s'annonçait pas mal mais qui ne s'installe pas sur ma version 1.3.1.1
Du coup, je me suis "sorti les doigts du ..." et, en m'inspirant des sources de Julier Dreux (merci à lui), j'arrive à un embryon de solution qui colle avec mon besoin.

Pour la faire courte:

1. Dans la page product.tpl de mon thème, j'ai ajouté le lien:

{l s='Contact us for this product'}



2. Dans le fichier contact-form.php (que j'aurais aimé ne pas modifier en vue des MAJ mais bon), ligne 33:

$email = Tools::safeOutput(Tools::getValue('from', ((isset($cookie) AND isset($cookie->email) AND Validate::isEmail($cookie->email)) ? $cookie->email : '')));
$productname = '';
if (intval(Tools::getValue('id_product', 0)) != 0)
{
   $product = new Product(intval(Tools::getValue('id_product')), false, intval($cookie->id_lang));
   $productname = $product->name;
}
$smarty->assign(array(
   'errors' => $errors,
   'email' => $email,
   'productname' => $productname
));



3. Enfin, dans la page contact-form.tpl de mon thème vers la ligne 37:

<textarea id="message" name="message" rows="7" cols="35">{if isset($smarty.post.message)}{$smarty.post.message|escape:'htmlall':'UTF-8'|stripslashes}{else}{if $productname != ''}{l s='Votre demande concerne: '}{$productname|escape:'htmlall':'UTF-8'|stripslashes}{/if}{/if}</textarea>



Bon sujet pour mettre les mains dans le cambouis ;) et si vous identifiez des horreurs de débutant, n'hésitez pas à me corriger.

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