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

Comment faire apparaitre une deuxième photo de vos produits au survol des images
views 4184
Voici un petit tutoriel qui va vous permettre de faire apparaitre la deuxième image de votre produit au passage de la souris. UPDATE : j'ai trouvé ce module qui est gratuit : cliquez-ci  Cette astuce Prestashop est valable pour la version 1.6 1) Créez un fichier nommé « Category.php » dans le dossier « override/classes » et ajoutez-le code suivant: 1) Créez un fichier nommé « Produ...
Gratuit : Template Mails | Astuce Prestashop 1.6
views 3359
Je vous propose une nouvelle mise en page plus minimaliste pour les mails. Le fichier comprend la version anglaise et française. Vous pouvez télécharger les templates gratuitement. Cette astuce Prestashop est valable pour la version 1.6 et 1.5 1) Exemple de mails   A noter : - Il est possible de modifier le contenu des mails. Pour cela il faut aller dans Localisation > Traductio...
Paypal, Hipay & Payplug – Quelle solution de paiement choisir
views 3765
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 les banques. Aujourd'hui, il existe d'autres solutions de paiement dont Paypal, Hipay et Payplug Ces établissements sont autorisés par l’ACP à exercer en France. Ils ne nécessitent pas de contrat de VAD pour être mis en oeuvre A) Comparat...
Comment augmenter la taille de la description courte dans Prestashop
views 3178
Lors de la création de la fiche produit sur Prestashop, vous serez peut-être être bloqué par la limitation du nombre de caractères de la description courte (maximum 400 caractères) Bonne nouvelle, pas besoin d'aller dans le code, une simple manipulation à faire dans le back-office de Prestashop Comment modifie t-on le nombre de caractère ?  A) Connectez-vous dans le back-office de Pre...
Quel nom de domaine pour mon site e-commerce
views 94
MON NOM DE DOMAINE Le choix du nom de domaine est la première décision importante lorsque vous décidez de créer un site e-commerce ou un site vitrine. Il est très important de réfléchir à celui-ci avant de faire votre choix car il a un impact direct sur votre image de marque sur le web et sur la facilité avec laquelle les internautes trouveront votre site sur les moteurs de recherche. ...

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 *