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
<?php
class Validate extends ValidateCore
{
public static function isCleanHtml($html, $allow_iframe = false)
{
/*if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html))
return false;
if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
return false;
*/
return true;
}
}
————
2) Ouvrir un ficher qui se nommera FrontController.php, insérer le code suivant puis enregistrer le dans override/classes/controller/FrontController.php
————
<?php
class FrontController extends FrontControllerCore
{
public function setMedia()
{
parent::setMedia();
// Execute Hook FrontController SetMedia
$this->addjqueryPlugin('fancybox');
$this->addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'all'); // @TODO
Hook::exec('actionFrontControllerSetMedia', array());
}
}
?>
3) Dans le dossier fichier footer.tpl situé dans votretheme/footer.tpl rajouter avant la balise :
<script>
$('a.iframe').fancybox();
</script>
-————
4) Dans le back-office / Préfence / cms :
<a class="iframe" href="votrelien?content_only=1">Nom de votre lien</a>
A noter : ?content_only=1 permet de ne pas avoir le footer et le header dans la fenêtre popup.
A bientôt pour d’autres astuces…
Bonjour,
Votre tuto fonctionne–il pour Prestashop 1.7 ?
Merci 🙂
Bonjour,
Malheureusement non, il ne fonctionne que sur les versions 1.6.
Vous trouverez un module gratuit de popup compatible 1.7 en suivant ce lien :
https://www.team-ever.com/everpopup-module-popup-prestashop-gratuit/
Merci de nous suivre !
Bonsoir, je viens de regarder la description du module, sauf erreur de ma part, il propose une pop-up qui se declenche lorsqu’on arrive sur une page. Moi je souhaite qu’une pop-up s’ouvre en cliquant sur un lien.
Avez-vous une suggestion ?
Merci à vous
Bonjour,
Nous vous conseillons de suivre ce tuto : http://nemops.com/prestashop-custom-popups/#.X5gCNIhKiM8
Merci de nous suivre et nous restons à votre disposition.
Cordialement,
PrestaMan