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

Configurer le mode multi-boutique dans PrestaShop 1.6 & 1.7
views 25599
A NOTER : malheureusement à ce jour, il existe encore pas mal de bugs avec la version 1.7 (la dernière 1.7.6 ne régle pas tous les problèmes) Qu’est ce que la multi-boutique ? La multi-boutique est un groupe de boutiques qui partage la même administration. Vous pouvez donc gérer plusieurs boutiques avec un même back-office PrestaShop. Pour qui ? des commerçants qui désirent faire du B2B ( ...
Votre boutique Prestashop est-il compatible mobile ?
views 1282
Google ayant mis en place son label « Mobile Friendly », dans ses résultats de recherche, il devient maintenant incontournable d'avoir un site version mobile. Il faut noter aussi qui si votre site n'est pas responsive ou compatible Mobile, vous allez perdre des places dans les pages de résultats de Google. Google à mise à votre disposition un outil très simple pour tester la comptabilité de vot...
Lutte contre la fraude à la TVA et PrestaShop
views 1163
Depuis le 1er janvier 2018, l'article 88 de la loi n° 2015-1785 du 29 décembre 2015 de finances pour 2016 prévoit l'obligation pour les assujettis à la taxe sur la valeur ajoutée (TVA) qui enregistrent les règlements de leurs clients au moyen d'un logiciel de comptabilité ou de gestion ou d'un système de caisse, d'utiliser un logiciel satisfaisant à des conditions d'inaltérabilité, de sécurisation...
Comment dupliquer un thème Prestashop 1.6 ?
views 2782
Vous désirez apporter des modifications dans les fichiers TPL, CSS... du thème par défaut de Prestashop. Je vous conseille fortement de le dupliquer et de garder l'original. Il est très facile de dupliquer un thème depuis le back-office de Prestashop. Voici un petit tutorial: Etape 1: Depuis le menu, allez dans l'onglet Préférences > Thèmes Etape 2: Cliquez sur "Ajouter un t...
Insérer une page CMS sur votre formulaire de contact | PrestaShop 1.6
views 2992
Vous désirez insérer une page cms à l'intérieur de votre formulaire de contact de votre boutique PrestaShop Rien de plus simple avec ce petit tuto ! Etape 1 : Override du fichier : ContactController.php Créer un fichier qui se nommera ContactController.php et placez le dans  override/controllers/front/ puis insérez le code suivant : Plus de précisions Code 1: $cms=New CMS(...

10 réponses à “Insérer pop-up dans une page CMS | Astuce Prestashop 1.6”

  1. JF David dit :

    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 dit :

    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 dit :

    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 dit :

    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 dit :

    Bonjour,

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

  6. AlainR dit :

    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. Romain dit :

    Ok cela fonctionner merci ! Juste un petit souci pour afficher un formulaire mail chimp 🙂

  8. julien dit :

    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

  9. c_majory dit :

    Bonjour,

    Difficile de dire sans voir mais

    1) vous n’avez pas nettoyé le cache de Prestashop (supprimant le ficher class_index.php qui se situe dans le dossier cache)
    2) Votre thème ne permet pas de le faire
    3) Le code n’est pas bon

    Sinon vous avez ce module : http://www.store-opart.fr/p/4-opartajaxpopup.html

Laisser un commentaire

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