Insérer pop-up dans une page CMS | Astuce Prestashop 1.6

Un client désirait insérer un système de pop-up dans la page cms de Prestashop

Je ne voulais pas installer un n-ième module pour faire simplement cela ni insérer un autre script/bibliothèque que ceux inclus dans Prestashop.

Cette astuce Prestashop est valable pour la version 1.6

Voilà l’astuce.

————

1) Ouvrir un ficher qui se nommera Validate.php, insérer le code suivant puis enregistrer le dans override/classes/Validate.php

————

2) Ouvrir un ficher qui se nommera FrontController.php, insérer le code suivant puis enregistrer le dans override/classes/controller/FrontController.php

————

3) Dans le dossier fichier footer.tpl situé dans montheme/footer.tpl rajouter avant la balise :

————

4) Dans le back-office / Préfence / cms :

A noter : ?content_only=1 permet de ne pas avoir le footer et le header dans la fenêtre popup.

I-frame prestashop

Articles similaires

Gratuit : template facture et bon de livraison | Astuce Prestashop 1.6
views 18292
On ne va pas se le cacher, la mise en page des pdf des factures et bons de livraison, n'est vraiment pas top. Je vous propose donc une nouvelle mis...
Supprimer le cadre blanc autour de vos images | Astuce Prestashop 1.6
views 3044
Lorsqu’on upload une image dans Prestashop, ce dernier la redimensionne selon les différents formats spécifiés dans « préférences/images ». Mais si...
Faire une sauvegarde de votre BDD depuis le BO de Prestashop 1.6
views 1036
Qu'est ce qu'une BDD (base de données) ?  Une base de données est un outil qui permet de collecter et organiser des informations. Exemple: vos pro...
Désactiver “Recevez les offres spéciales de nos partenaires” | Astuce Prestas...
views 1440
Cette phrase  "Recevez les offres spéciales de nos partenaires"  apparait lors de la création d'un compte comme vous pouvez le voir sur la photo ci-de...
La structure des fichiers du nouveau thème Classic | Prestashop 1.7
views 10974
La version stable de Prestashop 1.7 est sortie ce lundi et comme vous pourrez le constater, la structure des fichiers dans le dossier thème a totaleme...
Le nouveau menu du back-office de Prestashop 1.7 – Partie 1
views 3229
La version R.C.0.1 de Prestasho 1.7 est sortie, et grande surprise son back-office a été traduit en français (enfin une grande partie) Par rapport ...
Quels sont les modules utilisés sur la page d’accueil ? | Prestashop 1.7
views 13301
Par rapport à Prestashop 1.6, la page d'accueil a totalement été relooké et le nom et le hook des modules ont été modifiés. Voici une check-list de...
Guide complet pour vos campagnes Google Adwords
views 392
Ce guide est en vente sur Amazon.fr et offert en format PDF.  Complet, Intuitif et plein d'astuces. Allez jeter un oeil ! Besoin de gérer des campagn...
Greffer le menu haut horizontal dans displayNav | Astuce Prestashop 1.6
views 3301
Ce tutoriel va vous permettre de greffer le module "menu haut horizontal" dans displayNav Cette astuce Prestashop est valable pour la version 1.6 ...
Paypal, Hipay & Payplug – Quelle solution de paiement choisir
views 3328
Pour une petite boutique en ligne, mettre en place un contrat de vente à distance (VAD) peut s'avérer difficile en raison des coûts élevés que demande...
  1. JF David

    Bonjour,
    Merci pour cette astuce, fort utile.
    Pour mon site en version Prestashop 1.6.1.3, je rencontre toutefois un problème, par ex les CGV ne s’affichent pas dans un popup mais en pleine page. J’ai résolu cette difficulté en remplaçant :

    $(‘a.iframe’).fancybox();

    Par :

    $(document).ready(function() {
    $(‘a.iframe’).fancybox({
    ‘type’ : ‘iframe’,
    ‘width’:680,
    ‘height’:700
    });
    });

    Par ailleurs, j’aimerais savoir à quoi sert l’ajout dans l’override/classes de Validate.php
    Si je ne l’ajoute pas, tout semble fonctionner quand même.

    Cordialement
    JF David

  2. Sophie

    bonjour,

    C’est exactement ce que je recherchais.
    Par contre j’ai également rajouter le code de JF David mais le fenêtre ne s’ouvre toujours pas en pop up.

    Merci

  3. Sophie

    En fait il fallait tout simplement rajouter type=”text/javascript” pour que la balise soit prise en compte.

    $(document).ready(function() {
    $(‘a.iframe’).fancybox({
    ‘type’ : ‘iframe’,
    ‘width’:600,
    ‘height’:600
    });
    });

    Merci

  4. oreys

    Bonjour,
    Je souhaite insérer un lien qui ouvrira une fenêtre popup sur ma page panier, donc un lien à insérer donc mon fichier shopping-cart.tpl, j’ai donc créé le fichier validate.php que j’ai enregistré, pour le deuxième fichier à créer “frontControler.php, de mon côté il existe déjà… Que dois je faire svp?
    Merci 🙂

  5. c_majory Auteur de l’article

    Bonjour,

    il me faudrait le code de l’override du fichier frontControler.php

  6. AlainR

    Dans ce cas, il ne faut ajouter que ”
    public function setMedia()
    {
    parent::setMedia();

    // Execute Hook FrontController SetMedia
    $this->addjqueryPlugin(‘fancybox’);
    $this->addCSS(_PS_CSS_DIR_.’jquery.fancybox.css’, ‘all’); // @TODO
    Hook::exec(‘actionFrontControllerSetMedia’, array());
    }
    ” juste après “class FrontController extends FrontControllerCore
    {”

    Merci pour cette astuce!
    Comme JF David, je n’ai pas modifié Validate.php et ça fonctionne à merveille. À quoi sert ce code ?
    Merci encore!

  7. julien

    Bonjour à tous,
    J’ai pris en compte toutes vos remarques,
    ça s’ouvre toujours dans une nouvelle page et non onglet 🙁

    helppp 🙂
    bouton : plus de détails

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *