Forum CMS Made Simple FR

Version complète : [Résolu]Afficher une seule vignette de galerie pour lancer la ligthbox
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.4
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonsoir,

Je suis à la recherche d'une astuce ou balise qui me permettrait de mettre une image et en cliquant dessus, d'afficher la ligthbox avec les autres images qui suivent. Pour le moment, j'arrive à afficher un répertoire (ex. {Gallery dir="atelier"}) mais pour n'afficher qu'une vignette pas possible. Je veux qu'en cliquant dessus, j'ai aussitôt la lightbox.
Merci pour votre aide.
Ratanas
Sans avoir testé (code de Lightbox original) :
Code :
{foreach from=$images item=image name=foo}
    <div class="img">
    {if $image->isdir}
        <a href="{$image->file}" title="{$image->titlename}"><img src="{$image->thumb|escape:'url'|replace:'%2F':'/'}" alt="{$image->titlename}" /></a><br />
        {$image->titlename}
    {else}
   <a href="{$image->file|escape:'url'|replace:'%2F':'/'}" title="{$image->titlename}" rel="lightbox[gallery]">{if $smarty.foreach.foo.first}<img src="{$image->thumb|escape:'url'|replace:'%2F':'/'}" alt="{$image->titlename}" />{/if}</a>
    {/if}
    </div>
{/foreach}
Principe : ajout de name=foo au foreach pour permettre d'utiliser $smarty.foreach.foo.first qui est le premier élément de la boucle (http://www.smarty.net/docsv2/fr/language...oreach.tpl). Tu pourrais également remanier le code pour qu'il corresponde à smarty3 : http://www.smarty.net/docs/en/language.f...rty.first).
La vignette ($image->thumb) ne devrait donc apparaître que pour le premier élément.
Salut à tous,
astuce smarty 3 :
la syntaxe $smarty.foreach.foo.first peut être remplacée par : $image@first

et pendant qu'on y est :
{foreach from=$images item=image name=foo} par {foreach $images as $image} = saint axe PHP
http://www.smarty.net/docs/en/language.f...oreach.tpl
Tu n'as pas lu jusqu'au bout Wink
Citation :Tu pourrais également remanier le code pour qu'il corresponde à smarty3 : http://www.smarty.net/docs/en/language.f...erty.first.
ha! Milles zexcuses votre Altesse!
Je suis allé trop vite en besogne, j'en suis mari! Smile
Merci pour cet extrait de code, je vais tester au plus vite et je vous tiens au courant.
En tout cas merci pour votre réactivité.
Nickel, merci pour cette boucle. C'est pile poil ce dont j'avais besoin.
Avez-vous pendant que j'y suis des références de bouquins sur CMSMS en français ?
Je suppose que "$smarty.foreach.foo.first" cela ne s'invente pas et qu'il y a un livre ou autre de référence ?
Encore merci pour votre aide.
Content que ça fonctionne.
J'avais pris la peine de mettre un lien vers la page la documentation smarty dans les posts ci-dessus, il te suffit de cliquer...
Jean le Chauve a écrit :Principe : ajout de name=foo au foreach pour permettre d'utiliser $smarty.foreach.foo.first qui est le premier élément de la boucle (http://www.smarty.net/docsv2/fr/language...oreach.tpl). Tu pourrais également remanier le code pour qu'il corresponde à smarty3 : http://www.smarty.net/docs/en/language.f...rty.first).
La vignette ($image->thumb) ne devrait donc apparaître que pour le premier élément.

Il existe un très bon bouquin (ebook...) sorti aux environs de la 1.10.3, mais en anglais : http://www.packtpub.com/cms-made-simple-...kbook/book
N'oublie pas le petit [Résolu] en modifiant le titre de ton premier post Wink