22/10/2010, 10:27:18
Problème résolut :
En réalité 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 puis traiter le premier objet du "foreach" appelé "test", comme ceci :
Ce qui donne finalement :
Côté smarty/html
Côté JS
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.
En réalité
Code :
{if $smarty.foreach.image.first}
Code :
{foreach from=$images item=image name=test}
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"> </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.