Image Gallery, une galerie d’images...

All contributions published for previous SPIP versions

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.

updated on 11 December 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...

    Reply to this 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 !!

    Reply to this 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

    Reply to this message

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

    Reply to this 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

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom