Bonjour :)
je cherche à ouvrir un ficher pdf dans un nouvel onglet dans le navigateur en cliquant sur la balise <a href="...."> conditions générales </a>
est ce qu'il y a moyen que je fasse cela dans mon controller ou ça sera juste dans ma vue ?
merci d'avance

9 réponses


Salut,

il faut simplement ajouter l'attribut target dans le balise avec la valeur _blank :

<a href="...." target="_blank"> conditions générales </a> 
shiko
Auteur

salut Gallandje,
en fait ce n'est pas l'attribut target que je cherche, mais plutôt la façon comment ouvrir le fichier pdf bref ce qui est dans l'attribut href qui m'interesse, car j'avais tester ce bou de code mais ça me donne une erreur :

<a href="<?php header('Content-type: application/pdf'); readfile('courslive3/millecinqcent/CGV_1500.pdf'); ?>" class="underline oswald"><?php echo __('conditions d\'utilisations');?></a>

Il faut que ton lien pointe vers ton action de controller

Donc ton lien sera <a href="mon-pdf.php" class="underline oswald"><?php echo __('conditions d\'utilisations');?></a>

Et dans ton action tu mets ton header et readfile:

header('Content-type: application/pdf');
readfile('courslive3/millecinqcent/CGV_1500.pdf');

(Pas sûr du tout pour le readfile, un bye que je ne l'ai pas utilisé)

Effectivement ce que tu fais ne risque pas de fonctionner. En théorie si tu mets le lien vers ton fichier PDF dans le href ça fonctionne. Du coup tu te retrouverai avec une code de ce style :

<a href="[...]courslive3/millecinqcent/CGV_1500.pdf" target="_blank"> conditions générales </a> 

Oui tu peux faire un lien direct, le readfile est pratique si tu veux afficher un fichier uniquement pour certains ROLES par exemple (pas utile dans ton cas) en testant l'accés en amont.

shiko
Auteur

c'est bon les gars :

<a href="<?php echo url('image'); ?>pdf/CGV_1500.pdf" class="underline oswald"><?php echo __('conditions d\'utilisations');?></a>

merci pour votre aide :D

Parfait ! Ravis d'avoir pu t'aider :)

N'oublie pas de clore le sujet ... ;)

shiko
Auteur

c'est pas où ?