regular777 Posted January 14, 2013 Share Posted January 14, 2013 (edited) Bonsoir ! Après de longues heures de recherche et une torture innommable de mon petit cerveau je me décide à lancer un appel à n'importe qui sachant m'expliquer comment ouvrir une page CMS via fancybox sans créer de conflit, car je ne m'en sors plus ! (Pour info je tourne sous prestashop 1.5.2) La seule tentative ayant un tant soit peu fonctionné était avec cette syntaxe: <p><a class="iframe" href="http://monsite.com/cms.php?id_cms=x&content_only=1">nom de mon lien</a></p> <script type="text/javascript">$('a.iframe').fancybox();</script> Dans ce cas ma page s'ouvre mais seulement à partir des pages chargeant la librairie jquery (panier, paiement et produit), sur les autres, le lien reste inactif. Quelqu'un saurait donc comment ajouter jquery et fancybox pour ces autres pages ? Edited January 15, 2013 by regular777 (see edit history) Link to comment Share on other sites More sharing options...
franckm1000 Posted January 14, 2013 Share Posted January 14, 2013 Jquery se charge partout non ? Ce serait pas plutôt un conflit ? Link to comment Share on other sites More sharing options...
regular777 Posted January 14, 2013 Author Share Posted January 14, 2013 (edited) Merci de ta réponse franck ! A vrai dire je ne savais même pas que jquery se chargeait partout.. Donc ma question serait plutôt comment appeler fancybox sans qu'il ne pose un conflit sur les pages le lançant déjà..? Je croyais qu'en insérant : <link href="/js/jquery/plugins/fancybox/jquery.fancybox.css" rel="stylesheet" type="text/css" media="all"> <script type="text/javascript" src="/js/jquery/plugins/fancybox/jquery.fancybox.js"></script> dans le footer juste avant </body> ça fonctionnerait, mais le fait qu'il y ait doublon désactive complètement mes liens, même sur les pages produits et panier alors qu'ils fonctionnaient avant.. Une idée sur son utilisation ? Edited January 14, 2013 by regular777 (see edit history) Link to comment Share on other sites More sharing options...
regular777 Posted January 14, 2013 Author Share Posted January 14, 2013 (edited) Bon, problème résolu ! Voila ce qui fonctionne : 1-Oubliez-mon post précédent ! Placez celui ci à la place juste avant la balise </body> dans le footer.tpl : <script type="text/javascript">$('a.iframe').fancybox();</script> J'utilise presta 1.5.2 donc voila la modif de ce code dans /classes/controller/FrontController.php : public function setMedia() { // if website is accessed by mobile device // @see FrontControllerCore::setMobileMedia() if ($this->context->getMobileDevice() != false) { $this->setMobileMedia(); return true; } $this->addCSS(_THEME_CSS_DIR_.'global.css', 'all'); $this->addjquery(); $this->addjqueryPlugin('easing'); $this->addJS(_PS_JS_DIR_.'tools.js'); if (Tools::isSubmit('live_edit') && Tools::getValue('ad') && Tools::getAdminToken('AdminModulesPositions'.(int)Tab::getIdFromClassName('AdminModulesPositions').(int)Tools::getValue('id_employee'))) { $this->addJqueryUI('ui.sortable'); $this->addjqueryPlugin('fancybox'); $this->addJS(_PS_JS_DIR_.'hookLiveEdit.js'); $this->addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'all'); // @TODO } if ($this->context->language->is_rtl) $this->addCSS(_THEME_CSS_DIR_.'rtl.css'); // Execute Hook FrontController SetMedia Hook::exec('actionFrontControllerSetMedia', array()); } En ça > public function setMedia() { // if website is accessed by mobile device // @see FrontControllerCore::setMobileMedia() if ($this->context->getMobileDevice() != false) { $this->setMobileMedia(); return true; } $this->addCSS(_THEME_CSS_DIR_.'global.css', 'all'); $this->addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'all'); // @TODO $this->addjquery(); $this->addjqueryPlugin('easing'); $this->addJS(_PS_JS_DIR_.'tools.js'); $this->addjqueryPlugin('fancybox'); if (Tools::isSubmit('live_edit') && Tools::getValue('ad') && Tools::getAdminToken('AdminModulesPositions'.(int)Tab::getIdFromClassName('AdminModulesPositions').(int)Tools::getValue('id_employee'))) { $this->addJqueryUI('ui.sortable'); $this->addJS(_PS_JS_DIR_.'hookLiveEdit.js'); } if ($this->context->language->is_rtl) $this->addCSS(_THEME_CSS_DIR_.'rtl.css'); // Execute Hook FrontController SetMedia Hook::exec('actionFrontControllerSetMedia', array()); } A partir de la tous les liens fancybox fonctionnent sans problème d'incompatibilité en changeant les liens en cette forme > <a class="iframe" href=".../cms.php?id_cms=13&content_only=1"> ENFIN ! J'espère que cette astuce aidera ceux qui cherchent pour cette version ! Maintenant mon problème est d'afficher la frame un peu plus grand car là elle a la même taille que pour les CGV. Quelqu'un sait où dois-je aller pour ça ? EDIT: pour changer la taille, ajouter ce script en dessous du premier à rajouter dans le footer.tpl : <script>{literal}$('a.iframe').fancybox({width:1105, height:570});{/literal}</script> Edited January 15, 2013 by regular777 (see edit history) 2 Link to comment Share on other sites More sharing options...
cmsxpert Posted February 7, 2013 Share Posted February 7, 2013 Waw bravo !Merci Mais on précise par ce lien que l'on veut juste le contenu du texte sans les modules autour par contre il reste toujours, chez le moi le footer apparent dans la popup, comment je pourais faire pour qu'il ne soit plus visible? Je pense aux css de la lightbox pour y parvenir.... Je ne croyais plus pouvoir y arriver, merci c'est super va voir mes posts si quelques fois tu trouves des choses qui t'aides à mon tour.Je me suis cassé la tête sur les variables d'apparition de nom et de lien de catégorie par produit pour les modules, produits phares et dompromo, si tu as des questions sur ça n'hésites pas. Merci encore. Cordialement. Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted February 14, 2013 Share Posted February 14, 2013 (edited) Pour info, j'ai développé un module qui permet de faire exactement ça: http://www.store-opart.fr/p/4-opartajaxpopup.html Edited June 20, 2017 by Olivier CLEMENCE (see edit history) Link to comment Share on other sites More sharing options...
cmsxpert Posted March 14, 2013 Share Posted March 14, 2013 Pour info, j'ai développé un module qui permet de faire exactement ça: http://www.store-opa...tajaxpopup.html Cool ça m'intéresse, ça a l'air bien fait. Merci. Link to comment Share on other sites More sharing options...
sunnysmoker Posted August 27, 2013 Share Posted August 27, 2013 Merci beaucoup pour l'aide Regular Link to comment Share on other sites More sharing options...
juju33el Posted October 14, 2013 Share Posted October 14, 2013 (edited) Bonjour, J'essais d'afficher une page cms dans une fancybox via iframe, j'ai ajouté le script <scripttype="text/javascript">$('a.iframe').fancybox();</script> à la fin de mon footer.tpl, j'ai modifié FrontController.php, comme indiqué dans ce post, mais ça ne marche pas... La console me dit : Uncaught TypeError: Object [object Object] has no method 'fancybox' Je suis sous PS 1.5.5 et mon site, encore en phase de développement se trouve ici. Le lien que j'aimerais afficher en fancybox est 'Informations techniques' (en bas de la page produit). Quelqu'un aurait-il une solution? Merci d'avance sujet déplacé vers http://www.prestashop.com/forums/topic/281600-pages-cms-via-fancybox-avec-ps-155/ Edited October 14, 2013 by juju33el (see edit history) Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted October 14, 2013 Share Posted October 14, 2013 Euh, le post à été déplacé mais sans la solution ? (Enfin moi je vois pas les réponses) c'est pas très utile non ? Link to comment Share on other sites More sharing options...
juju33el Posted October 14, 2013 Share Posted October 14, 2013 Désolé, vu que ce poste était signé résolu, j'ai crée un nouveau... Link to comment Share on other sites More sharing options...
farhat Posted April 22, 2014 Share Posted April 22, 2014 j'ai réussi à lancer certainnes pages CMS via fancybox. est-ce qu'on peut lancer une page tpl via fancybox? 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