hairvay Posted January 23, 2008 Share Posted January 23, 2008 Salut à tous, Hi everyone, petit tutoriel pour installer Lightbox ou Thickbox (en fonction de vos goûts et de vos habitudes) sur ce bel outil. Je pense que certains vont être content ! A little tutorial for installing Lightbox or Thickbox (according to your tastes and habits) into this great app. A few of you are bound to be pleased I think! Attention, je fais la modif uniquement que sur un seul fichier. A vous par la suite d'aller fouiller à droite et à gauche. Please note: here I modify just one file. After that it's up to you to dig around for more. On va commencer par le plus simple : Thickbox -> La librairie jquery est déjà installée dans prestashop. Voici la marche à suivre. Let's start with the easier one: Thickbox -> The jquery library is already installed in PrestaShop. Here are the steps to follow. 1/ Ouvrez le fichier themes/default/product.tpl 1/ Open the themes/default/product.tpl file. 2/ En première ligne, remplacez : 2/ In the first line, replace: <script type="text/javascript" src="{$js_dir}getimage.js"></script> par / with <script type="text/javascript" src="{$base_dir}js/jquery/jquery.pack.js"></script> <script type="text/javascript" src="{$base_dir}js/jquery/thickbox-compressed.js"></script> <link rel="stylesheet" href="{$base_dir}css/thickbox.css" type="text/css" media="screen" /> 3/ Cherchez la ligne suivante : 3/ Look for the following line: <img id="bigpic" src="{$img_prod_dir}{$cover.id_image}-large.jpg" alt="{$product->link_rewrite}" title="{$product->link_rewrite}" onclick="window.open('zoom.php?id_image='+getE('bigpic').id_image, '', 'width=auto, height=auto, resizable=yes');" onmouseover="style.cursor='pointer';" /> et remplacez par : / and replace it with: <a class="thickbox" href="{$img_prod_dir}{$cover.id_image}.jpg" rel="lightbox" title="{$product->link_rewrite}"> <img rel="lightbox" id="bigpic" border="0" src="{$img_prod_dir}{$cover.id_image}-large.jpg" title="{$product->link_rewrite}"/> </a> 4/ Cherchez la ligne suivante : 4/ Look for the following line: <img id="minImage_{$image.id_image}" class="min_image" src="{$img_prod_dir}{$product->id}-{$image.id_image}-small.jpg" alt="{$image.legend}" title="{$image.legend}" onclick="onClickImage('{$image.id_image}', '{$image.legend}', '{$img_prod_dir}{$product->id}-{$image.id_image}-large.jpg')" /> et remplacez par : / and replace it with: <a class="thickbox" title="{$image.legend}" href="{$img_prod_dir}{$product->id}-{$image.id_image}.jpg" rel="lightbox" ><img src="{$img_prod_dir}{$product->id}-{$image.id_image}-small.jpg"/></a> 5/ Dernière étape : enlever le code désormais superflu. 5/ Last step: Take out the now-superfluous code. Fin de la première étape avec l'installation de la thickbox. Je reviens un peu plus tard pour Lightbox. That's the end of the first step, installing Thickbox. I'll be back a little later with Lightbox. @+ cya Link to comment Share on other sites More sharing options...
haluzman Posted January 23, 2008 Share Posted January 23, 2008 thanx, looks great Link to comment Share on other sites More sharing options...
Peter Wilson Posted January 23, 2008 Share Posted January 23, 2008 Merci hairvay Pour info : Si vous vous servez de Lightbox pour votre boutique en ligne, vous serez obligé(e) de citer le nom de l'auteur original, Lokesh Dhakar, selon la Paternité 2.5 Générique. Une donation est facultative. Quant à Thickbox, c'est de l'open-source donc utilisable sans contrainte. Une donation est facultative. FYI : If you use Lightbox for your store, on your Front Office/Web storefront you must include attribution to the creator, Lokesh Dhakar, as per its Attribution 2.5 Generic license. Donations are requested but optional. Thickbox uses an MIT License/GNU License, i.e., free to use without restriction, although donations are requested. Link to comment Share on other sites More sharing options...
hairvay Posted January 23, 2008 Author Share Posted January 23, 2008 Mise à jour le 24/01 Deuxième partie sur Lightbox avec la condition énoncée ci dessus par Peter. Comme Lightbox n'est pas inséré d'origine à PS, je l'ai mis dans les dossiers du thème. Second part on Lightbox with the condition announced above by Peter. Since Lightbox isn't included natively in PS, I put it into the Theme folders. 1/ Première étape, placez les fichiers ci-joints dans les dossiers correspondants : 1/ First of all, put the attached files into their corresponding folders: lightbox.js -> themes/default/js prototype.js -> themes/default/js scriptaculous.js -> themes/default/js lightbox.css -> themes/default/css 2/ Ouvrez le fichier themes/default/header.tpl 2/ Open the themes/default/header.tpl file. Ajoutez dans le <head> Add the <head> section : <link href="{$css_dir}lightbox.css" rel="stylesheet" type="text/css" /> 3/ Ouvrez le fichier themes/default/product.tpl 3/ Open the themes/default/product.tpl file. 4/ En première ligne, remplacez : 4/ In the first line, replace: <script type="text/javascript" src="{$js_dir}getimage.js"></script> par / with <!--<script type="text/javascript" src="{$js_dir}prototype.js"></script> <script type="text/javascript" src="{$js_dir}scriptaculous.js?load=effects"></script> <script type="text/javascript" src="{$js_dir}lightbox.js"></script> 5/ Cherchez la ligne suivante : 5/ Look for the following line: <img id="bigpic" src="{$img_prod_dir}{$cover.id_image}-large.jpg" alt="{$product->link_rewrite}" title="{$product->link_rewrite}" onclick="window.open('zoom.php?id_image='+getE('bigpic').id_image, '', 'width=auto, height=auto, resizable=yes');" onmouseover="style.cursor='pointer';" /> et remplacez par : / and replace it with: <a href="{$img_prod_dir}{$cover.id_image}.jpg" rel="lightbox" title="{$product->link_rewrite}"> <img rel="lightbox[galerie]" id="bigpic" border="0" src="{$img_prod_dir}{$cover.id_image}-large.jpg" title="{$product->link_rewrite}"/> </a> 6/ Cherchez la ligne suivante : 6/ Look for the following line: <img id="minImage_{$image.id_image}" class="min_image" src="{$img_prod_dir}{$product->id}-{$image.id_image}-small.jpg" alt="{$image.legend}" title="{$image.legend}" onclick="onClickImage('{$image.id_image}', '{$image.legend}', '{$img_prod_dir}{$product->id}-{$image.id_image}-large.jpg')" /> et remplacez par : / and replace it with: <a title="{$image.legend}" href="{$img_prod_dir}{$product->id}-{$image.id_image}.jpg" rel="lightbox[galerie]" ><img src="{$img_prod_dir}{$product->id}-{$image.id_image}-small.jpg"/></a> 7/ Dernière étape : enlever le code désormais superflu. 7/ Last step: Take out the now-superfluous code. Voili, voilou pour la lightbox ! That about does it for Lightbox! lightbox.js prototype.js scriptaculous.js lightbox.css Link to comment Share on other sites More sharing options...
hairvay Posted January 23, 2008 Author Share Posted January 23, 2008 suite des fichiers à uploader. More files to upload -> themes/default/img Link to comment Share on other sites More sharing options...
hairvay Posted January 23, 2008 Author Share Posted January 23, 2008 suite (bis) des fichiers à uploader. Yet more files to upload. -> themes/default/img @+ later Link to comment Share on other sites More sharing options...
Peter Wilson Posted January 23, 2008 Share Posted January 23, 2008 Salut hairvay, Merci encore pour ce joli travail. Je me suis permis de le traduire into English. Link to comment Share on other sites More sharing options...
hairvay Posted January 23, 2008 Author Share Posted January 23, 2008 salut Peter, Sans problème pour la traduction. J'essaierai d'y penser la prochaine fois ! @+ Link to comment Share on other sites More sharing options...
Peter Wilson Posted January 23, 2008 Share Posted January 23, 2008 T'inquiètes pas pour les traduc, c'est pour cela que je suis là. Enfin pour les postings essentiels comme celui-ci en tous cas. Link to comment Share on other sites More sharing options...
haluzman Posted January 24, 2008 Share Posted January 24, 2008 hmm, it doesnt work. Thickbox was working, but lightbox isnt. is there some problem? Link to comment Share on other sites More sharing options...
hairvay Posted January 24, 2008 Author Share Posted January 24, 2008 Salut, j'ai oublié de préciser qu'il fallait mettre la feuille de style dans le header. voici la rectification : dans themes/default/header.tpl dans le <head>, ajoutez : <link rel="stylesheet" href="{$css_dir}ligthbox.css" type="text/css" media="screen" /> J'ai modifié le post précédent. @+ Link to comment Share on other sites More sharing options...
haluzman Posted January 24, 2008 Share Posted January 24, 2008 sorry, it still doesnt work. Link to comment Share on other sites More sharing options...
hairvay Posted January 24, 2008 Author Share Posted January 24, 2008 can you show your code, please ? Link to comment Share on other sites More sharing options...
Bernie Noël Posted January 24, 2008 Share Posted January 24, 2008 Merci pour ce hack bien utile , mais je rebondis sur ce post car apres l'installation tres rapide de Thickbox pour la fiche produit , je me suis rendu compte que les 2 boutons latéraux de changement d'images ne fonctionnent plus et que le bouton "voir plus grand " renvoie toujours le popup traditionel . Ma question était de savoir si il etait possible que la fonction Thickbox ou lightbox soit active uniquement sur le lien "voir plus grand " de cette maniere nous ne perdons pas l'option de voir les photos complémentaires (miniatures)en mode large sans passer par le popup. une photo sera plus parlant: Link to comment Share on other sites More sharing options...
Matthieu Biart Posted January 25, 2008 Share Posted January 25, 2008 Bonjour a tous Et merci a hairvay pour cette super fonctionnalite On va voir pour peut-etre l'implementer dans un prochaine release ;D Link to comment Share on other sites More sharing options...
wouter Posted January 28, 2008 Share Posted January 28, 2008 The tips on lightbox are not complete. If u have more then 1 image for your product, thickbox only uses the first one. To fix that, give the <A> around your big picture and id 'linkpic'. And then add the following code at the bottom of getimage.js in the function onClickImage: var linkpic = getE('linkpic'); linkpic.href = link; Link to comment Share on other sites More sharing options...
jolvil Posted January 28, 2008 Share Posted January 28, 2008 what does mean "give the <A> around your big picture and id 'linkpic'? Link to comment Share on other sites More sharing options...
Peter Wilson Posted January 29, 2008 Share Posted January 29, 2008 Je cite wouter, de cette discussion. The tips on lightbox are not complete. If u have more then 1 image for your product, thickbox only uses the first one. To fix that, give the <A> around your big picture and id 'linkpic'. And then add the following code at the bottom of getimage.js in the function onClickImage: var linkpic = getE('linkpic'); linkpic.href = link; C'est-à-dire : Les infos sur Lightbox ne sont pas complètes. Si l'on dispose de plus d'une image d'un produit, Thickbox ne se sert que de la première. Pour régler ça, ajoutez au <A> autour de ta grande image le id 'linkpic'. Ensuite il faut ajouter le code suivant vers la fin de getimage.js dans la fonction onClickImage: var linkpic = getE('linkpic'); linkpic.href = link; Link to comment Share on other sites More sharing options...
jolvil Posted January 29, 2008 Share Posted January 29, 2008 concretement que signifie: "ajoutez au <A> autour de ta grande image le id 'linkpic' " merci Link to comment Share on other sites More sharing options...
norbert Posted January 30, 2008 Share Posted January 30, 2008 Add the <head> section : Code: <link href="{$css_dir}lightbox.css" rel="stylesheet" type="text/css" /> where in the header sahll i exactely add this? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <base href="http://{$smarty.server.HTTP_HOST}{$base_dir}" /> <title>{$meta_title|utf8_encode}</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> {if isset($meta_description)}<meta name="description" content="{$meta_description}" />{/if} {if isset($meta_keywords)}<meta name="keywords" content="{$meta_keywords}" />{/if} <meta name="robots" content="{if isset($nobots)}no{/if}index,follow" /> <link rel="shortcut icon" href="{$img_dir}favicon.ico" /> <link href="{$css_dir}style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="{$js_dir}layer.js"></script> <script type="text/javascript" src="{$base_dir}js/tools.js"></script> <script type="text/javascript" src="{$base_dir}js/attributesFront.js"></script> <script type="text/javascript" src="{$base_dir}js/jquery/jquery.pack.js"></script> </head> <body> <div id="page"> <!-- Header --> <form action="{$request_uri}" method="post"> <div id="header"> {$HOOK_HEADER} <h1 class="real_h1" title="{$shop_name}"> <a href="{$base_dir}" title="{$shop_name}"><img alt="{$shop_name}" src="{$base_dir}img/logo.jpg"/></a> </h1> <div id="header_nav" class="header_nav"> {l s='Welcome'}, {if $logged}<b>{$customerName}</b> (<a href="index.php?mylogout">{l s='Log out'}</a>){else}<a href="my-account.php">{l s='Log in'}</a>{/if}<br /> <a href="my-account.php">{l s='Your Account'}</a> <span class="pipe_spacer"></span>|<span class="pipe_spacer"></span> <a href="order.php"><img src="{$img_dir}icon/basket.png" alt="{l s='Your Shopping Cart'}" title="{l s='Your Shopping Cart'}" class="bottom" /></a> <a href="order.php">{l s='Cart:'}</a> {if $cart_qties > 0}{$cart_qties} {if $cart_qties > 1}{l s='products'}{else}{l s='product'}{/if} ({convertPrice price=$cart->getOrderTotal(true, 4)}){else}{l s='(empty)'}{/if} </div> {if sizeof($languages) != 1} <div id="languages"> <b>{l s='Language:'}</b><br /> <div class="tspace"> {foreach from=$languages key=k item=language} <a href="{$link->getLanguageLink($language.id_lang, $language.name)}"><img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.name}" title="{$language.name}" {if $language.iso_code == $lang_iso}class="selected_language"{/if} /></a> {/foreach} </div> </div> {/if} {if sizeof($currencies) != 1} <div id="currencies"> <b>{l s='Currency:'}</b><br /> <select name="id_currency" class="currency_select tspace"> {foreach from=$currencies key=k item=currency_browsed} <option value="{$currency_browsed.id_currency}"{if $id_currency_cookie == $currency_browsed.id_currency} selected="selected"{/if}>{$currency_browsed.name}</option> {/foreach} </select> <input type="image" src="{$img_dir}btn-ok.gif" name="SubmitCurrency" class="text-bottom" /> </div> {/if} </div> </form> <!-- Content --> <div id="content"> <!-- Left --> <div id="left"> {$HOOK_LEFT_COLUMN} <!-- Sitemap --> <div class="sitemap"> <a href="sitemap.php"><img src="{$img_dir}icon/sitemap.png" alt="{l s='sitemap'}" title="{l s='sitemap'}" /></a> <a href="sitemap.php">{l s='sitemap'}</a> </div> <!-- Contact --> <div class="contact"> <a href="contact-form.php"><img src="{$img_dir}icon/contact.png" alt="{l s='contact'}" title="{l s='contact'}" /></a> <a href="contact-form.php">{l s='contact'}</a> </div> </div> <!-- Center --> <div id="center"> Link to comment Share on other sites More sharing options...
norbert Posted January 30, 2008 Share Posted January 30, 2008 something i do wrong with lightbox - everything dissepears.... and what does mean: take out the now-superfluous code? any idea? thank you, norbert Link to comment Share on other sites More sharing options...
Fistou69 Posted March 11, 2008 Share Posted March 11, 2008 Bonjour, j'ai essayé d'installer lightbox mais cela ne marche pas sur v0.9.7 ! je ne comprend pas comment inclure cette contrib ! Existe-t-il un autre tuto ? Salutation Link to comment Share on other sites More sharing options...
BeStMaker Posted June 7, 2008 Share Posted June 7, 2008 Merci pour ce hack bien utile , mais je rebondis sur ce post car apres l'installation tres rapide de Thickbox pour la fiche produit , je me suis rendu compte que les 2 boutons latéraux de changement d'images ne fonctionnent plus et que le bouton "voir plus grand " renvoie toujours le popup traditionel . Ma question était de savoir si il etait possible que la fonction Thickbox ou lightbox soit active uniquement sur le lien "voir plus grand " de cette maniere nous ne perdons pas l'option de voir les photos complémentaires (miniatures)en mode large sans passer par le popup. une photo sera plus parlant: I have the same problem; how we fix it? Link to comment Share on other sites More sharing options...
Fabrice Posted October 13, 2008 Share Posted October 13, 2008 up !quelqu'un saurait-il comment on intègre greybox, sans vouloir tout casser ?cet outil est génial pour les photos, les vidéos etc... Link to comment Share on other sites More sharing options...
Fabrice Posted October 13, 2008 Share Posted October 13, 2008 bon, j'y suis presque arrivé.j'arrive à obtenir l'effet souhaité (ou presque)je souhaite poser un code qui appelle une variable.si je le pose dans le TPL directement, ça fonctionne.par contre si je le pose dans l'éditeur via html dans smarty, le code est interprêté.comment puis-je m'y prendre pour éviter cela ? merci !! Link to comment Share on other sites More sharing options...
Nommam Posted October 13, 2008 Share Posted October 13, 2008 Fabrice, tu as vui ma contribe avec FancyZoom => http://www.psfrance.org/forums/f14/effet-sur-image-thickbox-est-mort-vive-fancyzoom-t282.htmlPs : Je test d'integtrer FancyBox, JE pense torcher le truc dans la semaine .... J'aime bien, change de ThickBox, et l'effet Zoom est d'enfer. Link to comment Share on other sites More sharing options...
Fabrice Posted October 13, 2008 Share Posted October 13, 2008 Salut Nommam,oui, j'ai vu. moi j'essaie de poser un lien dans l'éditeur (piloté par smarty)mais impossible : tous mes liens rel_ sont interprétés.je ne sais plus comment faire pour que l'appel de l'url passe par la box.tu aurais ue idée comment on peut faire avec smarty ?j'ai bien essayé {ldelim} et {rdelim} ou aussi {literal} et {/literal} mais que dalle.tu aurais une idée? suis coincé à mort là.merci ! Link to comment Share on other sites More sharing options...
Nommam Posted October 15, 2008 Share Posted October 15, 2008 FancyBox Avance Voir http://www.psfrance.org/forums/showthread.php?p=1916#post1916Non Aucune idée, si j'ai bien tout pigé, quand tu tape ta description dans la fiche article, tu place ton lien avec le rel, et a l'affichage de la page il n'y est plus !As tu regardé dans ta base mysql ( table ps_product_lang -> avec l'id_product tu va vite le retrouver ) si il y est ( car si il n'y est pas c'est un probleme avec tinymce, et plus avec smarty ) Link to comment Share on other sites More sharing options...
Fabrice Posted October 15, 2008 Share Posted October 15, 2008 merci pour ta réponse.oui, tu as bien compris. mais je ne suis pas allé aussi loin : c'est au niveau de l'éditeur que ça merde.en fait, essaye voir avec ça :<*a href="http://www.agence-eureka.com" title="CAPTION" rel="gb_page[200, 200]">HTMLplace-le dans un éditeur (l'éditeur de la page d'accueil fera l'affaire)clic sur HTML, pose le code, valide, revient dans le html, et hop : disparu.c'est bien smarty qui merde là non ?une idée ?j'ai cherché un peu partout sans trouver de soluce.penses-tu qu'il soit possible d'appeler cette page avec un autre code ?merci pour toute suggestion. Link to comment Share on other sites More sharing options...
Nommam Posted October 15, 2008 Share Posted October 15, 2008 Rien pigé moa la Link to comment Share on other sites More sharing options...
Fabrice Posted October 15, 2008 Share Posted October 15, 2008 évidemment. j'avais pas vu que le code était interprété. je corrige (rajout d'un *) Link to comment Share on other sites More sharing options...
Nommam Posted October 16, 2008 Share Posted October 16, 2008 Moi je n'arrive pas a fixer le rel dans la saisie de la description du produit dans le back office.Je parie donc sur un pb avec Tinymce ! Link to comment Share on other sites More sharing options...
Pyssou Posted August 10, 2012 Share Posted August 10, 2012 Merci beaucoup hairvay ça m'a beaucoup aidé 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