justineb11 Posted October 4, 2013 Share Posted October 4, 2013 Bonjour à tous, Je reviens vers vous pour un PB que je rencontre, je vous explique : je suis sur Prestashop 1.5.5 je joint à chaque fiche produit des documents (fiche technique et fiche de sécurité) en PDF, je vais donc dans "documents joints" et je les insére comme ça. Le problème c'est que sur la page produit en front, ça apparait comme un lien de téléchargement : quand je clique j'ai une fenetre qui s'ouvre et qui me demande si je veux l'enregistrer dans mon ordinateur ou l'ouvrir avec acrobat sur mon ordinateur. je voudrais savoir si il était possible que ce document pdf s'ouvre dans un nouvel onglet de mon navigateur comme je pourrais le faire en mettant un lien direct sur pdf. mais je trouve que ça serait plus rapide et plus simple pour moi en passant par "document joint" lors de la création d'un article. Merci d'avance justine Link to comment Share on other sites More sharing options...
jullover Posted October 28, 2013 Share Posted October 28, 2013 même question sur mon ancien site boutique (OScommerce) les pdf s'affichaient dans le navigateur ce qui a eu pour conséquence de référencer naturellement tous ces pdf aujourd'hui sous Prestashop vient donc le problème de la redirection 301 pour ne pas perdre ce bon référencement l'ancien lien devrait donc être redirigé vers le même pdf (qui au lieu de s'afficher, charge sur l'ordi) merci ! Link to comment Share on other sites More sharing options...
bubu3d Posted November 21, 2013 Share Posted November 21, 2013 même souci. Je suis newbie sur prestashop (mais pas en dev), et j'ai l'impression que dès qu'on veut trifouiller un peu....c'est la croix et la bannière...! J'up quand même, sait on jamais ? ;-) Link to comment Share on other sites More sharing options...
bubu3d Posted November 21, 2013 Share Posted November 21, 2013 (edited) je crois que je suis sur une piste dans le fichier /controllers/front/getfilecontroller.php, à la fin de la méthode init() (ligne 276 sur ma version) la ou il envoit les header pour le téléchargement... (croix bannière) Pourquoi les documents joints ne sont ils pas stockés en clair ??? Edited November 21, 2013 by bubu3d (see edit history) Link to comment Share on other sites More sharing options...
greenabz Posted June 9, 2015 Share Posted June 9, 2015 Je fais un petit up parce qu'on ne sait jamais si ça peut aider quelqu'un d'autre... Je cherchais justement à résoudre ce problème et j'ai trouvé. Fonctionne apparemment depuis PS 1.5.4.1. (je suis sous PS 1.6.0.14) Il faut overrider le fichier AttachementController.php C'est à dire copiez le fichier qui est dans controllers/front et le coller dans override/controllers/front puis modifier la ligne header('Content-Disposition: attachment; filename="'.utf8_decode($a->file_name).'"'); par header('Content-Disposition: inline; filename="'.utf8_decode($a->file_name).'"'); N'oubliez pas de vider votre cache avant de tester Link to comment Share on other sites More sharing options...
Trafiquant Posted October 3, 2017 Share Posted October 3, 2017 Merci pour la réponse. Pour Prestashop 1.7.2 on arrive à forcer ce fonctionnement avec le même type d'override. Il faut créer le fichier /override/controllers/front/AttachmentController.php et y overrider la fonction postProcess de la sorte : class AttachmentController extends AttachmentControllerCore { public function postProcess() { $a = new Attachment(Tools::getValue('id_attachment'), $this->context->language->id); if (!$a->id) { Tools::redirect('index.php'); } Hook::exec('actionDownloadAttachment', array('attachment' => &$a)); if (ob_get_level() && ob_get_length() > 0) { ob_end_clean(); } header('Content-Transfer-Encoding: binary'); header('Content-Type: '.$a->mime); header('Content-Length: '.filesize(_PS_DOWNLOAD_DIR_.$a->file)); header('Content-Disposition: inline; filename="'.utf8_decode($a->file_name).'"'); @set_time_limit(0); self::readfileChunked(_PS_DOWNLOAD_DIR_.$a->file); exit; } } Et effectivement, bien penser à vider les caches smarty + navigateur. Link to comment Share on other sites More sharing options...
thierry.lequeu Posted April 12, 2019 Share Posted April 12, 2019 Bonjour, Je suis en Prestashop 1.7.5.1 et la modification fonctionne bien : le fichier PDF s'ouvre dans l'onglet actif. Comment faire pour qu'il s'ouvre dans un autre onglet ? (l'équivalent du target="_blank" en html) Merci. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now