Jump to content

Produit / Demande d'information / Formulaire


Recommended Posts

Bonjour à tous,

 

N'ayant pas trouvé de module adapté à mes besoins je me lance dans le bidouillage <_<

 

Je souhaite installer manuellement un bouton "demande d'information" sur chaque fiche produit renvoyant vers une page fixe de prestashop contenant un formulaire html que j'aurai personnalisé pour chaque produit (environ une dizaine de formulaires differents).

 

Comment puis-je recuperer l'image et le nom du produit en question pour l'inserer en haut de la page du formulaire ainsi que par la suite les retrouver dans l'email ? Y a t-il un code à placer ?

 

Merci à tous

Edited by grafityx (see edit history)
Link to comment
Share on other sites

Bonsoir,

 

La solution la plus simple est de mettre l'id du produit dans l'url de redirection de ton bouton!

Ensuite, sur la page de ton formulaire, tu récupère cette information avec la variable $_GET et tu recherche dans tes produits l'image à afficher.

 

Par exemple, tu rediriges vers la page

http://www.maboutique.fr/formulaire_bidule.php?id=5

Dans ta page formulaire_bidule.php tu rajoutes

require_once(dirname(__FILE__).'/config/config.inc.php');

$id=$_GET['id'];
$prod = new ProductCore($id);
$imgs = $prod->getImages();
$link = new Link();
$image = $link->getImageLink($prod->link_rewrite, $imgs[0][id_image], 'home'); //  <---- Taille de l'image. J'ai mis "home" en exemple

et là où tu veux mettre ton image...

echo "<img src='".$image."'>";

 

home pour récupérer les images qui s'affichent dans les colonnes droite gauche

small pour récupérer les petites images

medium, large, thickbox, ou rien peuvent également être utilisés.

 

Amuses-toi bien !!!

 

Edited by SoluNeXT (see edit history)
  • Like 1
Link to comment
Share on other sites

Finalement j'ai opté pour mettre le code directement dans le fichier product.tpl

 

Par contre lorsque je souhaite que le bouton apparaisse seulement pour une categorie, le boutton disparait ... pourtant la variable me semble correcte ...

 

Dans mon exemple, je souhaite que le boutton s'affiche sur les produits de la categorie 2 :

{if $id_category == 2}

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}form.php?id={$product->id}">Quote request</a></p>

{/if}

 

Egalement comment faire pour que la fonction langue soit prise en compte sur le boutton et sur son lien ???

 

Version Fr : Demander un devis > http:......./formFR.php

Version En : Quote request > http:... /formEN.php

 

Merci

Link to comment
Share on other sites

J'ai trouvé la solution pour le bouton :

 

<!-- Quote button -->

 

 

{if $category->id == 2}

 

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}form2.php?id={$product->id}">Quote request</a></p>

{/if}

{if $category->id == 3}

 

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}form3.php?id={$product->id}">Quote request</a></p>

{/if}

{if $category->id == 4}

 

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}form4.php?id={$product->id}">Quote request</a></p>

{/if}

<!---------->

 

il ne me reste plus que pour la langue, une idée ?

Link to comment
Share on other sites

J'ai trouvé la solution pour le bouton :

 

 

 

il ne me reste plus que pour la langue, une idée ?

 

Re...

 

Remplace donc tout ça par ça, ça marchera avec toutes tes catégories :

 

<p class="buttons_bottom_block">
 <a class="button" href="{$base_dir}form{$category->id}.php?id={$product->id}&lang={$id_lang}">
Quote request
 </a>
</p>

bon... y a des trucs bizarres dans les couleurs du code :P

Ci dessus, tu passes à langue à ton formulaire dans la variable $_GET['lang']

 

Tu peux aussi créer des formulaires séparés pour chaque langue :

<p class="buttons_bottom_block">
 <a class="button" href="{$base_dir}form{$category->id}_{$id_lang}.php?id={$product->id}">
Quote request
 </a>
</p>

Tu auras alors C x L formulaires à créer (C = Nombre de catégories, L = Nombre de langues)

 

Tu peux aussi combiner les if de ton exemple précédent si le bouton ne doit s'afficher que pour certaines catégories...

 

Pour le texte du bouton, je te conseille l'utilisation de la fonction de gestion des langues...

<p class="buttons_bottom_block">
 <a class="button" href="{$base_dir}form{$category->id}_{$id_lang}.php?id={$product->id}">
{l s='TexteBoutonDevis'}
 </a>
</p>

tu pourras alors gérer les traductions dans le BackOffice.

 

Edited by SoluNeXT (see edit history)
Link to comment
Share on other sites

Oui finalement j'avais reussi a le faire :rolleyes: :

 

<!-- Quote button -->

 

 

{if $category->id == 2}

 

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}{$lang_iso}/form2.php?id={$product->id}">{l s='Quote request'}</a></p>

{/if}

{if $category->id == 3}

 

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}form3.php?id={$product->id}">{l s='Quote request'}</a></p>

{/if}

{if $category->id == 4}

 

<p class="buttons_bottom_block"><a class="button" href="{$base_dir}form4.php?id={$product->id}">{l s='Quote request'}</a></p>

{/if}

<!---------->

Edited by grafityx (see edit history)
Link to comment
Share on other sites

  • 3 months later...

Bonjour,

 

Voilà mon soucis :

 

1) J'aimerais faire comme grafityx, recuperer l'image et le nom du produit en question pour l'inserer en haut de la page d'un formulaire ainsi que par la suite les retrouver dans l'email...

J'ai essayé, la solution de Solunext, en redirigeant la page puis dans la page .../formulaire_bidule.php j'ai intégré le code ci-dessous:

$id=$_GET['id'];
$prod = new ProductCore($id);
$imgs = $prod->getImages();
$link = new Link();
$image = $link->getImageLink($prod->link_rewrite, $imgs[0][id_image], 'home'); // <---- Taille de l'image. J'ai mis "home" en exemple

 

puis j'ai mis

echo "<img src='".$image."'>";

 

Cela ne marche pas. Est ce que je dois juste copier coller ce code ou ya til quelque choses que j'ai manqué?

J'utilise la version de Prestashop 1.4.7.3, et le formulaire a été créée avec ContactForm.

s'il vous plaît aidez moi. Cela fait des semaines que çà traîne. Please

 

Cordialement,

Teena

Link to comment
Share on other sites

Bonjour,

 

Merci pour vos réponses.

Le fichier de confing. était déjà dans le formulaire c'est pour cela que je ne l'ai pas rajouté. Que signifie exactement, passer l'id du produit en paramètre? Bien sur j'avais mis dans mon lien qui donne au formulaire ( http:/ /www.monsite.fr/form.php?fid=1) est cela le parametrage? ou autre chose. Désolé pour mes questions en fait je fais de l'intégration et je débute en Php.

 

Cordialement,

Teena

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