Jump to content

[Résolu]Envoyer par e-mail le lien vers le document attaché au produit


Recommended Posts

Bonjour,

Avec de l'aide, j'ai ajouté dans product.tpl un bouton qui, quand on clique dessus, ouvre une popup où le visiteur renseigne son nom et son adresse mail. Une fois cela validé, il reçoit un mail avec un lien vers le document pdf joint au produit.

 

J'en suis au stade où, dans le code, c'est un lien en dur vers un fichier pdf lambda qui est mis, pour tester la popup.

Le script fonctionne bien, on reçoit bien le mail.

Maintenant je voudrais remplacer le lien de test par un lien qui enverra bien le chemin pour télécharger le pdf correspondant au produit sur la fiche duquel le visiteur a cliqué sur le bouton.

Vous me suivez ? ;-)

J'ai essayé avec le lien du bouton de base de PS (bouton pour télécharger directement le document joint) mais au lien de me donner le lien complet vers la fiche idoine, j'ai juste <a href=

 

Voici le code que j'ai mis :

<form action="../themes/jaro/mail.php" method="POST">
                         <p>{l s='Name'}</p> <input type="text" name="name" style="width: 80%;min-width: 250px;}">
                         <p>{l s='Email'}</p> <input type="text" name="email" style="width: 80%;min-width: 250px;}"">
                         <input type="hidden" name="message" value="<a href="{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")|escape:'html'}">{$attachment.name|escape:'htmlall':'UTF-8'}</a>"<br />
                          <input type="submit" style="margin-right: 10px;" value="{l s='Send'}"><input type="reset" value="{l s='Clear'}">
                  </form>

Que dois-je modifier ?
Merci d'avance !!!

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

Que veux-tu dire ? J'ai oublié un signe ?

 

Le code du bouton de d/l  de base de PS est

<a href="{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")|escape:'html'}">
{$attachment.name|escape:'htmlall':'UTF-8'}</a><br />{$attachment.description|escape:'htmlall':'UTF-8'} 

Je l'ai mal intégré dans l'input ?

Link to comment
Share on other sites

heu ??? pourquoi veux-tu un textarea ? Il n'y a pas de texte à entrer en front.

Je suppose que j'ai mal intégré le lien car il croit que le deuxième " termine le code et c'est pour cela qu'il ne m'affiche que <a href= ?

J'apprends l'HTML au fur et à mesure que je rencontre de nouvelles choses à réaliser. Donc si tu me dis ce que j'ai fait comme erreur, je t'en serais éperdument reconnaissante car j'aurai appris quelque chose grâce à toi !

 

Merci

Link to comment
Share on other sites

c'est exactement ce que je viens de te dire, mais plutôt que d'envisager de suivre mon conseil tu demandes pourquoi. Et dans ce cas je n'ai pas vraiment la fibre pédagogique. Donc reprends les cours de HTML. Si tu veux faire quelque chose sur internet, il serait temps de commencer par la base. Qui a très peu changé depuis bientôt 40 ans

Link to comment
Share on other sites

mais je veux bien suivre ton conseil ! seulement il faut que je le mette où le textarea ? selon les bases que j'ai, on en met un quand dans le formulaire il doit y avoir une case à remplir sur plusieurs lignes. J'ignorais qu'il fallait s'en servir pour afficher un lien. Désolée de demander le but de ce que tu conseilles pour mieux comprendre.
Mais à part ce textarea et escape, est-ce que l'intitulé du lien est correct ?
Merci.

Link to comment
Share on other sites

Petit up, j'ai juste besoin qu'on m'indique comment insérer le lien vers un produit dans un mail.
Le but étant que, quand le visiteur clique sur le bouton pour télécharger le document attaché, une popup s'ouvre lui demandant son nom et son adresse email. Après avoir validé, le visiteur reçoit un mail avec le lien vers le pdf du produit.

 

J'ai repris tel quel le code du bouton de base de Prestashop mais je dois faire une erreur que je n'arrive pas à détecter : dans le mail reçu, au lieu de l'adresse complète du lien, cela affiche <a href

<input type="hidden" name="message" value="<a href=
"{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")
|escape:'html'}">{$attachment.name|escape:'htmlall':'UTF-8'}</a>"<br />

1) est-ce que le code est correct pour le lien dans le mail ?

2) où est la faute qui fait que cela n'affiche que <a href ?

 

Un tout grand merci d'avance !!

Link to comment
Share on other sites

Doekia, tu m'as déjà dépannée pour du SSH qui n'est pas non plus du Prestashop. Le lien en lui-même, c'est un lien Prestashop, donc je souhaite juste savoir s'il est correct pour être inséré dans un mail.

Quant à l'HTML, le lien dans mon code fonctionne très bien avec une url en dur. Sans textarea.
Le site que tu me donnes ne fait que me confirmer ce que je crois : "The <textarea> tag defines a multi-line text input control."

 

Donc je répète, qu'est-ce que cela vient faire ici ? J'ai fait des recherches car je suis prête à apprendre mais je n'ai rien vu qui corresponde.

 

Le mail que le visiteur reçoit contient juste une phrase type Bonjour Mr Untel, voici le lien vers la fiche demandée : http://www.monsiteprestashop.tld/chemin_du_fichier/nom_du_fichier.pdf

 

Et que cela corresponde bien au produit sur la fiche duquel le visiteur a cliqué.

La valeur du lien créé dans l'input est récupérée dans un fichier mail.php à la ligne

$formcontent="Bonjour $name Veuillez télécharger la fiche en cliquant sur ce lien \n $message";

 

Ce n'est absolument pas une zone que devrait remplir le visiteur et qui expliquerait un textarea.

Je comprendrais qu'on en mette un si c'était le visiteur qui devait rentrer une url. Mais là non, c'est juste l'équivalent du bouton pour d/l la fiche, sauf qu'on ne le fait pas en direct comme c'est par défaut sur PS, mais via un mail reçu.

Maintenant, je ne sais certainement pas tout sur cette balise ! Faut-il un textarea parce que le lien définitif va être construit en fonction de la page produit visitée, que c'est une url dynamique ?

 

 

Voilà tout ...

Link to comment
Share on other sites

Bonjour, je reviens à la charge car je n'ai pas trouvé de solution.

Je vais reformuler :

Sur la page produit, PS 1.6.1.16, il y a un bouton qui apparaît quand un fichier a été ajouté via la fonctionnalité Document attaché du BO.

Ce bouton permet de télécharger le fichier.
Je souhaite que, quand on clique sur le bouton, une popup demande le nom et l'adresse mail du visiteur, et qu'il reçoive le lien de téléchargement par mail.

Comment faire ?

 

Merci d'avance.

Link to comment
Share on other sites

Bonjour, il n'était pas besoin de textarea et c'était les " qui posaient problème, il fallait les remplacer par des ' sauf pour "id_attachment={$attachment.id_attachment}"

 

Ca mettait 3 secondes de le dire ... Merci pour l'aide :-(

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