Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[RESOLU] Module {Gallery} => Une image = Une galerie
#8

Problème résolut :

En réalité
Code :
{if $smarty.foreach.image.first}
ne fonctionne pas car l'objet ".first" fait référence à l'objet foreach, et non un des valeurs traitée. Il faut donc donner un nom au foreach ex
Code :
{foreach from=$images item=image name=test}
puis traiter le premier objet du "foreach" appelé "test", comme ceci :
Code :
{if $smarty.foreach.test.first}

Ce qui donne finalement :

Côté smarty/html

Code :
<div class="gallery">
{foreach from=$images item=image name=test}
{if $smarty.foreach.test.first}
<div class="imgs"><a class="group" href="{$image->file}" title="{$image->title}" rel="gallery"><img src="{$image->thumb}" alt="{$image->title}" /></a></div>

{else}<div class="imgs" style="display:none;"><a class="group" href="{$image->file}" title="{$image->title}" rel="gallery"><img src="{$image->thumb}" alt="{$image->title}" /></a></div>
{/if}
{/foreach}
<div class="galleryclear">&nbsp;</div>
</div>

Côté JS

Code :
<script type="text/javascript" src="modules/Gallery/templates/fancybox/jquery.fancybox.pack.js"></script>
<script type="text/javascript" src="modules/Gallery/templates/jquery/jquery.mousewheel.pack.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    $("a.group").fancybox({
        'speedIn':        300,
        'speedOut':    300,
        'overlayColor':    '#000',
        'overlayOpacity':    0.7
    });
});
</script>



Côté optimisation, il me semble que FancyBox s'occupe de créer les thumbs et de charger au fur et à mesure les images. Donc le chargement de la page est raisonnable.


Merci à vous deux, pour ceux qui voudront, je pourrais mettre à dispo le gabarit de la Galerie en version xml.
Sujet fermé


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)