dellai.najeh
Messages postés16Date d'inscriptionsamedi 25 août 2018StatutMembreDernière intervention10 mars 2019
-
11 sept. 2018 à 01:29
dellai.najeh
Messages postés16Date d'inscriptionsamedi 25 août 2018StatutMembreDernière intervention10 mars 2019
-
12 sept. 2018 à 01:02
Bonjour,
En fait, dans ma page de détails d'une publication, j'ai un bouton de téléchargement. Lorsque nous cliquons sur "téléchargement", une fenêtre s'ouvre dans laquelle nous entrons l'e-mail de l'utilisateur destinataire et un lien pdf sera envoyé à cet e-mail. J'ai réussi à afficher le popup mais je n'ai pas trouvé de solution pour envoyer le lien de téléchargement PDF. Je ne sais pas comment récupérer ce lien en sachant que lors de l'ajout d'une publication, j'ai un fichier qui sera enregistré dans la base de données en tant qu'attribut de fichier contenant le nom du fichier avec l'extension pdf. merci de me donner de l'aide, j'ai cherché, mais malheureusement je n'ai pas trouvé la solution que je recherche. J'ai créé la fonction email mais je suis bloqué je ne sais pas comment procéder plus tard.
jordane45
Messages postés37535Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 6 juin 2023341 11 sept. 2018 à 11:15
Bonjour,
Déjà ... "un lien pdf " .. ça ne veut rien dire....
On peut dire : Un lien hypertext, un lien html (à la rigeur), un lien d'un fichier pdf (éventuellement)
Ensuite... on ne comprend pas sur quoi tu bloques exactement...
- L'envoie d'un mail ?
- L'affichage du lien dans le mail ?
- La récupération du lien du fichier à envoyer en fonction du bouton sur lequel l'utilisateur a cliqué ?
Et puis.. on ne sait rien de ton code.... il serait bien de montrer un minimum le code que tu utilises pour qu'on puisse essayer de comprendre...
dellai.najeh
Messages postés16Date d'inscriptionsamedi 25 août 2018StatutMembreDernière intervention10 mars 2019 Modifié le 11 sept. 2018 à 20:21
Bonjour, avant tout pour tous les explications, voilà donc j'ai réussi à créer le popup et de récupérer le fichier que je veux envoyer son lien par email par la suite.
le problème maintenant que je n'ai pas pu recevoir un email .
je vais vous montrer mon code source :
/**
*
* @Route("/{id}/sendLink", name="link_english_pub")
*
*/
public function sendLinkAction($id) {
$form = $this->createForm('MDWEB\FrontBundle\Form\InEnglishModalShowType');
$request = $this->container->get('request_stack')->getCurrentRequest();
$form->handleRequest($request);
$em = $this->getDoctrine()->getManager();
// $inenglish = $em->getRepository('MDWEBInEnglishBundle:InEnglish')->find($id);
// if ($form->handleRequest($request)->isValid()) {
$inenglish = $em->getRepository('MDWEBInEnglishBundle:InEnglish')->find($id);
$link = $inenglish->getFile();
var_dump($link);
$user = $this->get('security.token_storage')->getToken()->getUser();
$this->sendEmail($user, $inenglish, $link);
var_dump($this->sendEmail($user, $inenglish, $link));
//cette ligne me renvoie null
return $this->render('MDWEBFrontBundle:InEnglish:show.html.twig', array(
'form' => $form->createView(),
'inenglish' => $inenglish,
));
}
//function send email
private function sendEmail($user, $inenglish, $link) {
//Setup the message
$message = \Swift_Message::newInstance()
// subject of message
->setSubject('Nouvelle publication : ' . $inenglish->getTitle())
// source of message
->setFrom('mandrill@tunisienumerique.com')
// sent message receiver
->setTo($user->getEmail())
// content of message
->setBody($this->renderView('MDWEBFrontBundle:InEnglish:email.html.twig', array('user' => $user, 'inenglish' => $inenglish, 'link' => $link), 'text/html'));
// send the message
$this->get('mailer')->send($message);
}
voilà le contenu de email.html.twig
<!DOCTYPE html>
<html>
<head>
<title>Publication : {{inenglish.title}}</title>
</head>
<body>
<p>
Bonjour {{ user.username | capitalize }},
<br><br>
vous avez une nouvelle publication dont la catégorie est : {{ inenglish.Categorie}}<br>
Pour consulter le détail de cette publication , merci de vous rendre sur :
<a href="{{inenglish.file}}" target="_blank">{{inenglish.file }}</a>
<br><br>
Cordialement,<br>
____<br>
<strong>MD-Web</strong>
</p>
</body>
</html>
jordane45
Messages postés37535Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 6 juin 2023341 11 sept. 2018 à 20:48
dellai.najeh
Messages postés16Date d'inscriptionsamedi 25 août 2018StatutMembreDernière intervention10 mars 2019 Modifié le 11 sept. 2018 à 21:12
maintenant en local mais par la suite ça sera sur un serveur.
et comment faire pour la récupération du lien.
merci! j'espère que je ne te dérange pas.
jordane45
Messages postés37535Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 6 juin 2023341
>
dellai.najeh
Messages postés16Date d'inscriptionsamedi 25 août 2018StatutMembreDernière intervention10 mars 2019 11 sept. 2018 à 21:31
De quel lien parles tu ???
Juste avant tu nous as dit
j'ai réussi à créer le popup et de récupérer le fichier que je veux envoyer son lien par email par la suite.
... donc il est où le problème ???
Le fichier est stocké sur le disque ou directement en BDD ???
Si en BDD... tu dois, au choix :
Avoir une page qui récupère le fichier à afficher (et c'est son url que tu envoies par mail), soit tu as le fichier sur le disque ... et dans ce cas c'est le chemin vers ce fichier que tu indiques dans le lien.....
Je ne comprends vraiment pas ton souci....
dellai.najeh
Messages postés16Date d'inscriptionsamedi 25 août 2018StatutMembreDernière intervention10 mars 2019 Modifié le 11 sept. 2018 à 22:10
D'accord le fichier en fait est stocké en BDD sous forme d'un attribut file avec extension de cette manière ' 6c2550734e19fb6b5c91e2b80f9285cd.pdf ' par la suite il est enregistré dans /web/uploads/6c2550734e19fb6b5c91e2b80f9285cd.pdf.
quelle est la bonne méthode entre ces 2 : utiliser l'attribut file de la BDD ou bien le chemin du file sous le dossier /web ?
merci!
Modifié le 11 sept. 2018 à 20:21
le problème maintenant que je n'ai pas pu recevoir un email .
je vais vous montrer mon code source :
voilà le contenu de email.html.twig
11 sept. 2018 à 20:48
Si en local, faudra faire un truc du genre
https://www.developpez.net/forums/d1023479/php/bibliotheques-frameworks/symfony/swiftmail-envoi-mail-localhost/#post5738751
Modifié le 11 sept. 2018 à 21:12
et comment faire pour la récupération du lien.
merci! j'espère que je ne te dérange pas.
11 sept. 2018 à 21:31
Juste avant tu nous as dit
... donc il est où le problème ???
Le fichier est stocké sur le disque ou directement en BDD ???
Si en BDD... tu dois, au choix :
Avoir une page qui récupère le fichier à afficher (et c'est son url que tu envoies par mail), soit tu as le fichier sur le disque ... et dans ce cas c'est le chemin vers ce fichier que tu indiques dans le lien.....
Je ne comprends vraiment pas ton souci....
Modifié le 11 sept. 2018 à 22:10
quelle est la bonne méthode entre ces 2 : utiliser l'attribut file de la BDD ou bien le chemin du file sous le dossier /web ?
merci!