Image Gallery, une galerie d’images...

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Une galerie d’images avec SPIP

-  Exemple de page d’index de la galerie
-  Exemple de galerie en ligne

Si vous voulez disposer d’un lot de galeries d’images semblables à celles des exemples, simple mais fonctionnel et facile à « restyler », copiez l’archive ci-dessous à la racine de votre site SPIP (« galeries for php3 » pour les serveurs qui acceptent les extensions php3, ou « galeries for php » pour ceux qui n’acceptent que les extensions php, grâce à la modif de Carlos M. Cámara Mora -web lodemenos-) :

-  galeria.php3 (ou galeria.php)
-  galeria.html
-  galerias.php3 (ou galerias.php)
-  galerias.html
-  galerias_var.php3 (ou galerias_var.php)
-  imprimir_gale.php3 (ou imprimirgale.php)
-  imprimir_gale.html (ou imprimirgale.html)
-  imprimir_ima.php3 (ou imprimirima.php)
-  imprimir_ima.html (ou imprimirima.html)

Les images affichées via ces fichiers sont celles que vous téléchargerez en utilisant le système SPIP standard pour placer des images dans un article, que cet article contienne du texte ou non.

Vous pouvez facilement personnaliser le nombre de colonnes et de vignettes en modifiant le code du fichier galerias_var.php3

Pour visualiser vos galeries, vous disposez des méthodes suivantes :

-  appeler la page « http://votre_site_SPIP/galerias.php3 »
-  En cliquant sur les vignettes affichées au bas des articles, si vous utilisez le code « GALERIE D’IMAGES DANS UN ARTICLE » tel qu’il est explicité ci-dessous.

Si vous souhaitez que vos galeries d’images soient toutes incluses dans une seule rubrique, vous devrez créer cette rubrique, noter son numéro et utiliser dans votre squelette une restriction du type où xx est le numéro de votre rubrique, vu que par défaut ce squelette retrouve toutes les images téléchargées dans tous les articles (même si elles n’y sont pas affichées). Avec cette méthode vous n’afficherez donc que les images présentes dans la rubrique choisie.

Note : le code est un peu « sale » parce que je n’ai pas eu le temps de le nettoyer et de le relire, mais il fonctionne correctement selon mes tests sous Safari et Explorer sur Mac et IExplorer 6 sous Windows 98.

GALERIE D’IMAGES DANS UN ARTICLE

Si vous avez uniquement besoin d’une galerie simple dans un article, il vous suffit de copier-coller le code ci-dessous (dans article.html ou dans le squelette qui gère l’article en question), et de télécharger le fichier galerias_var.php(3) à la racine de votre site. Vous le trouverez dans l’archive zippée esqueletos_galerias.zip (squelette de galerie).

-  Voir un exemple de galerie insérée dans un article

CODE POUR INSERER UNE GALERIE DANS UN ARTICLE

Placez ceci dans le squelette :

<?
require('galerias_var.php3');
$cont=0;
$ncolumnas=$col_arti; //número de columnas
$ancho_col=100/$ncolumnas."%"; //ancho de las columnas
$maxi=$maxi_arti; // tamaño de las miniaturas
?>

IMPORTANT : Si vous utilisez une version php (et non php3) remplacez la ligne :

require('galerias_var.php3');

par :

require('galerias_var.php');

au début du squelette qui controle l’article de présentation, c’est-à-dire quelque part sous <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> et avant le début de votre BOUCLE articles :

"<BOUCLE_article_principal(ARTICLES) {id_article}>"

Ensuite, palcez les lignes suivantes à l’endroit où vous voulez faire apparaître la galerie :

<B_galeria>
<table width="74%" border="0" cellpadding="0" cellspacing="0">
<tr>
   <td height="18" valign="middle" bgcolor="#CCCCCC"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>&nbsp;+ IM&Aacute;GENES  </b><i>&ndash;Para ampliarlas hazles clic encima&ndash;</i></font> 
   </td>
</tr>
<tr>
   <td height="16" colspan="2"></td>
</tr>
</table>

<table>
  <tr>
    <td align="left" valign="bottom">
      <table  align="left" valign="bottom" border="0" cellspacing="0" cellpadding="4">
        <tr>
          <BOUCLE_galeria(DOCUMENTS){id_article}{mode=image}{doublons} {par titre}>
<?
	$cont=$cont+1;
	if ($cont>$ncolumnas){
	echo "</tr><tr>";
	$cont=1;
	}

$ancho = [(#LARGEUR)];
$alto = [(#HAUTEUR)];

if ($ancho>=$alto) {
	if ($ancho>=$maxi){
		$propor= $ancho/$maxi;
		$ancho=$maxi;
		$alto=$alto/$propor;
	}
}
else {
	if ($alto>=$maxi){
		$propor= $alto/$maxi;
		$alto=$maxi;
		$ancho=$ancho/$propor;
	}
}
	?>
          <td width="<? echo $ancho_col; ?>" align="center" valign="bottom"> <a href="galeria.php3?id_article=#ID_ARTICLE&id_document=#ID_DOCUMENT"> <font size="1" face="Arial, Helvetica, sans-serif" align="center"><img src="#URL_DOCUMENT" width="<? echo $ancho ?>" height="<? echo $alto ?>" border="0"><br></font></a>
              <div align="center" valign="top" style="font: 9px verdana,arial,helvetica,sans-serif;"><font size="1" face="Arial, Helvetica, sans-serif" align="center"><a href="galeria.php3?id_article=#ID_ARTICLE&id_document=#ID_DOCUMENT">

<?
	$titulo="[(#TITRE)]";
	if ($titulo==""){
	echo "Sin t&iacute;tulo</a>";
	}
	else{
	echo $titulo."</a>";
	}
	?>
              [<br>
              (#TYPE_DOCUMENT)][-(#TAILLE|taille_en_octets)][<br>
              (#LARGEUR)]x[(#HAUTEUR) p&iacute;xels]<br>
            </a></font></div></td>
          </BOUCLE_galeria>
        </tr>
    </table></td>
  </tr>
</table>
</B_galeria>

Les images affichées ici seront celles téléchargées avec l’article mais qui ne sont pas affichées avec le texte.

Il existe un lien <a href="galeria.php3?...> qui appelle le squelette galeria.php(3), lequel est utilisé pour afficher l’image en grande taille et pour visualiser toutes les images de l’article dans une galerie. Si vous n’utilisez pas ce squelette, pensez à effacer ce lien, en cliquant sur une image, elle s’ouvrira en taille originale (par défaut dans la fenêtre active) et vous n’irez donc pas à la galerie.

J’espère que cela pourra vous servir.

José Luis Murillo García. Mayo 2004. (Carlos M. Cámara Mora php version. Octobre 2004)

Texte basé sur la traduction anglaise d’un article original en espagnol

(Traducteur : François Rygaert - Juillet 2005) - Cette traduction est copyleft.

Dernière modification de cette page le 11 décembre 2006

Discussion

5 discussions

  • J’ai traduit cette contrib vu le nombre de personnes intéressées par des galleries. Mais je ne l’utilise pas et ne suis donc pas en mesure d’apporter un suivi utile aux questions.

    Désolé mais n’hésitez pas à apporter ci-dessus/ci-dessous toutes les infos utiles aux suivants...

    Répondre à ce message

  • salut,
    merci pour cette contribution qui a l’avantage d’allier efficacité et simplicité (dans le design comme dans la programmation). J’aurais une question cependant. Je serais intéressé par une variante de la galerie, et ça fait deux jours que je suis coincé dessus. Si quelqu’un pouvait m’aider.

    Je voudrais ajouter aux liens ’précédent’ et ’suivant’ des chiffres (façon Google) afin d’avoir accés directement à tous les documents disponibles liés à l’article. Il existe des galeries avec des vignettes mais je ne parviens pas à remplacer les vignettes par de simples chiffres...

    au secours !!

    Répondre à ce message

  • Y-a-t-il un problème entre cette contribution et les versions 1.8.2 de SPIP ?

    Je l’ai testé sur deux sites l’un en 1.8.1 et l’autre en 1.8.2. Dans le premier cas aucun soucis, tout fonctionne mais dans le deuxième rien n’apparait, comme si il n’avait pas vu les boucle et le php.

    François

    Répondre à ce message

  • Malheureusement, les fichiers ne sont pas ici. Il faut aller les chercher dans la tradution espagnole...

    Répondre à ce message

  • 1

    « Une galerie d’images avec SPIP

    Exemple de page d’index de la galerie
    Exemple de galerie en ligne »

    les liens ne marchent plus

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom