energiebx Posted February 11, 2011 Share Posted February 11, 2011 Bonjour à tous,Je souhaite avoir la possibilité dans une page CMS d'ouvrir un popup qui appel une autre page CMS.Par exemple : j'ai un image dans une page cms, et quand on clique dessus je voudrais qu'un popup s'ouvre et affiche le contenu d'une autre page cms, comme pour les CGV de l'étape 4 du tunnel de commande.Quelqu'un a t'il une solution?Merci d'avance pour votre aide.Quentin Link to comment Share on other sites More sharing options...
dev59 Posted September 5, 2011 Share Posted September 5, 2011 ca m'interesse aussi enormement Link to comment Share on other sites More sharing options...
gerry293 Posted November 16, 2011 Share Posted November 16, 2011 as-tu trouve une solution je cherche depuis une semaine! Link to comment Share on other sites More sharing options...
manouille Posted November 16, 2011 Share Posted November 16, 2011 Je suis sur une bonne piste. Ca à l'air bon. La suite demain. Link to comment Share on other sites More sharing options...
manouille Posted November 17, 2011 Share Posted November 17, 2011 Commencez par lire le post suivant : solution avec override C'est parti je vais essayer de tout expliquer correctement. Faudra tester pour voir si ca marche. Pré-requis un presta >1.4 car la fancybox a remplacée thickbox et le systeme de page cms est différent. Problème : la modification de fichier php qu'on ne peut pas overrider (donc attention aux mises à jour !) Etape 1 : Problématique : le soucis des pages cms c'est qu'elles ne chargent ni le fichier *.js de la fancybox ni le fichier *.css il faut donc modifier le fichier modules--> blockcms --> blockcms.php . Vers la ligne 755, l'avant dernière fonction appelée il faut y rajouter les appels qui manquent ; la fonction va s'écrire : Etape 2 : Ensuite il faut ajouter dans votre page cms un lien avec la bonne classe pour que cela déclenche la fancybox. Donc dans votre page cms (via le BO) il faut écrire le lien comme cela en passant par l'éditeur html (c'est plus fiable) : <a class="iframe" href="/content/3-conditions-generales-de-ventes?content_only=1">(lire)</a> Ce qui est important c'est le class="iframe". Etape 3 : On pourrait croire que c'est fini mais malheureusement non ! Il faut relier la class au jquery. Pour cela il faut modifier dans votre thème le fichier cms.tpl . Vers la aligne 43 il faut rajouter l'appel javascript : <div class="rte{if $content_only} content_only{/if}"> {$cms->content} <script type="text/javascript">$('a.iframe').fancybox();</script> </div> Etape 4 : Une fois cela fait dans BO --> préférences --> performances il faut : - forcer la compilation - désactiver le cache - dans CCC il faut conserver le fonctionnement classique pour : "Smart cache" pour le code JavaScript - dans CCC conserver le fonctionnement classique pour : Compression du JavaScript dans le code HTML Apres sur votre ftp : vider les fichiers *js dans le dossier theme --> Montheme --> cache Et normalement tout devrait marcher --> charger a ce moment la votre page cms (vous n'aurez pas a le refaire pour de nouvelles pages) Vous pouvez ensuite reactiver dans BO --> préférences --> performances J'espère que ce sera utile meme si ca parait pas tres propre. (en particulier pour le fichier php) et que l'effet espéré sera là ! Link to comment Share on other sites More sharing options...
manouille Posted November 17, 2011 Share Posted November 17, 2011 Grace a pasta.pesto (voir : ici) changement pour l'appel de la css et du js Etape 1 : complétement modifiée (merci pasta.pesto) Sur le ftp dans override/controllers créez un fichier nommé CMSController.php avec le code suivant : <?php class CmsController extends CmsControllerCore { public function setMedia() { parent::setMedia(); Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'screen'); Tools::addJS(array( _PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js', _PS_JS_DIR_.'jquery/jquery.serialScroll-1.2.2-min.js', _THEME_JS_DIR_.'product.js')); if (Configuration::get('PS_DISPLAY_JQZOOM') == 1) { Tools::addCSS(_PS_CSS_DIR_.'jqzoom.css', 'screen'); Tools::addJS(_PS_JS_DIR_.'jquery/jquery.jqzoom.js'); } } } ?> Etape 2 : voir post précédent pour les liens textes (comme pour les cgv dans le processus de commande) Pour ajouter l'effet sur les images écrire le code comme ceci : <a href="url de la grande image" rel="other-views" class="thickbox"> <img src="url de la petite image" /> </a> Etape 3&4 : pas de changements Voilà c'est beaucoup plus propre enjoy Link to comment Share on other sites More sharing options...
showtime Posted July 16, 2012 Share Posted July 16, 2012 Bonjour et désolé du déterrage,... j'ai tenté cette astuce mais elle ne semble plus fonctionner sur la version 1.4.7 Quelqu'un peut confirmer ? Link to comment Share on other sites More sharing options...
regular777 Posted January 12, 2013 Share Posted January 12, 2013 (edited) Ni sur 1.5 du coup.. :/ EDIT> La réponse dans ce post ! Edited January 16, 2013 by regular777 (see edit history) Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted February 27, 2013 Share Posted February 27, 2013 (edited) Bonjour,je viens de voir ce post et j'en profite pour vous donner le lien vers mon module qui propose de faire exactement ça (et même plus):version ps 1.5: http://www.store-opa...tajaxpopup.html Edited June 20, 2017 by Olivier CLEMENCE (see edit history) 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