SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 129 visiteurs en ce moment

Accueil > Affichage multimédia > Images > Archives Image, Galerie > Des boucles pour des albums de photo

Des boucles pour des albums de photo

31 octobre 2004 – par marabbeh – 64 commentaires

3 votes

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

Des boucles et un peu de PHP pour construire un album de photos (4 variantes proposées)

Ce n’est pas un autre album de photos que je vous propose là. Il y en a pratiquement autant de sortes que de sites. Mais plutôt des boucles et quelques fonctions PHP pour en faire un. L’habillage de l’album n’est pas traité ici : la décoration n’est pas le sujet.

Des exemples ici

Ajouter des images à un article avec génération de vignettes

Pour faire un album il faut d’abord des photos. Au cas où vous désirez utiliser des vignettes [1], voici quelques précautions :

-  La génération des vignettes, SPIP peut le faire, mais il faut lui demander. Dans l’interface privée, cliquez sur Configuration du site, puis Fonctions avancées. Cochez « Générer automatiquement les miniatures des images » et modifiez, si vous le voulez, la taille maximale des vignettes. Puis validez.
-  Ajoutez vos images dans votre article en tant que document joint, avec le bouton « joindre un document » et non pas « ajouter une image ». Sinon SPIP ne créera pas de vignettes. Ce que vous pouvez faire en dehors du mode édition de l’article.

Les différentes variantes

4 cas d’albums photos

J’ai imaginé 4 sortes d’albums photos :

1. Le plus simple : une seule photo en taille réelle [2], avec 2 liens « précédent » et « suivant » pour passer de l’une à l’autre.

2. Plusieurs photos dans la même page : vos photos ne sont pas très grandes, ni trop lourdes à charger et/ou vous pouvez éventuellement réduire leur taille à l’affichage. Liens « précédents » et « suivants » pour afficher les lots d’images précédent et suivant.

3. Plusieurs vignettes avec possibilité d’afficher une photo en taille réelle dans une fenêtre flottante (popup) : vos photos sont trop grandes et trop lourdes à charger, vous préférez les afficher sous forme de vignettes, qui par un clic permettent de visualiser l’image d’origine. Liens « précédents » et « suivants » pour afficher les lots de vignettes précédent et suivant.

4. Une variante du cas précédent (inspiré du système de galerie d’EVA) : un clic sur une vignette permet d’afficher dans la même page une image en taille intermédiaire [3], un clic sur cette image provoquera l’ouverture d’une fenêtre flottante affichant l’image en taille réelle. Liens « précédents » et « suivants » pour afficher les lots de vignettes précédent et suivant, ainsi que liens « précédent » et « suivant » pour passer d’une image de taille intermédiaire à l’autre. Voici un exemple :
http://www.maison-de-heidelberg.org/article.php3?id_article=230

Les « outils » nécessaires

-  une boucle sur les documents image de l’article pour en déterminer le nombre total (dans tous les cas)
-  une boucle des photos (dans tous les cas)
-  une boucle des vignettes (cas 3 et 4)
-  des liens de pagination [4] pour les photos : fonction PHP paginationImage() (dans tous les cas)
-  des liens de pagination pour les vignettes : fonction PHP paginationVignettes() (cas 3 et 4)
-  un petit script Javascript pour ouvrir une fenêtre flottante, qui chargera une page album_image.html (cas 3 et 4).

Vous trouverez en bas de page un squelette pour chaque cas, plus un fichier à télécharger pour l’ensemble.

1er cas : une seule photo par page

Quelques valeurs à initialiser

Cette boucle principale est supposée entourer la plupart des autres boucles du squelette. En fait, vous pouvez mettre cette instruction PHP n’importe où (en dehors de toute autre boucle), mais avant la pagination.

Boucle nb_images

Cette boucle calcule le nombre de photos de l’article et affecte la valeur à la variable PHP $nb_images, qui servira à la pagination des photos et/ou des vignettes. On en aura besoin dans les 4 cas. Cette boucle doit précéder tout ce qu’on va voir par la suite.

Remarque sur les critères de la boucle :
-  « extension==jpg|png|gif » limite les documents aux images JPG, PNG et GIF (utile, si d’autres documents joints sont liés à la page)
-  « mode=document », car vos images sont des documents, pour profiter de la « vignettisation » de SPIP.

La boucle affichant la photo

Son rôle est d’afficher l’image dont le rang [5] est indiqué par le paramètre d’url debut_image.

-  critère {debut_image,1}
C’est le critère qui permet de récupérer l’image de rang debut_image. L’url de la page doit se présenter ainsi : article.php3?id_article=XX&debut_image=YY.

La pagination

Elle permet de naviguer d’image en image.

Ce code écrit « précédente image suivante », où « précédente » et « suivante » sont des liens permettant de recharger la page respectivement avec l’image précédente ou l’image suivante. Si l’image n’a pas de précédent, il n’y aura pas de lien précédent. Idem si l’image n’a pas de suivant.

Exemple

Voici un exemple de ce cas

2e cas : plusieurs photos par page

Vos images ne sont pas trop grandes et pas trop lourdes. Vous pouvez donc en afficher plusieurs par page.

Valeurs à initialiser

En plus de la variable $id_article, une constante IMAGES_PAGE définit le nombre d’images à afficher par page. Cette constante servira dans la fonction paginationPage() modifiée. Si vous voulez modifier cette valeur, vous n’aurez à le faire que dans cette déclaration de constante (ainsi que dans la boucle correspondante, voir ci-dessous). L’organisation des images dans la page, c’est-à-dire le nombre d’images par lignes et le nombre de lignes, pourra être traité en HTML et/ou avec des CSS.

Boucle nb_images

Idem que le cas 1.

Boucle d’affichage des photos

On a pratiquement la même boucle que dans l’exemple précédent, à ces différences près :
-  Le critère {debut_image,6} permet d’afficher 6 images à partir de l’image de rang « debut_image » (si vous devez modifier le nombre d’images par page, vous devrez modifier aussi ce critère, en plus de la constante IMAGES_PAGE).
-  La fonction afficherImage() permet d’afficher chaque image avec un maximum de 500 pixels en largeur et de 400 pixels en hauteur (tout en conservant ses proportions). Les paramètres $max_larg et $max_haut sont facultatifs, et si vous les omettez : afficherImage("#URL_DOCUMENT", "#LARGEUR", "#HAUTEUR");, l’image sera affichée à sa taille réelle. Si vous omettez $max_haut (afficherImage("#URL_DOCUMENT", "#LARGEUR", "#HAUTEUR", 500);, la largeur sera limitée à 500 pixels, la hauteur s’adaptera pour conserver les proportions. Vous ne pouvez pas omettre $max_larg seul, mais indiquer ’0’ ou ’null’ (afficherImage("#URL_DOCUMENT", "#LARGEUR", "#HAUTEUR", 0, 400);) : la hauteur sera limitée à 400 pixels et la largeur s’adaptera pour conserver les proportions.

Pagination des images

Contrairement à l’exemple précédent, il faut faire défiler les images 6 par 6.

Si le nombre de vos images n’excède pas IMAGES_PAGE, la pagination ne s’affichera pas.

Exemple

Voici un exemple de ce cas

3e cas : vignettes avec image en taille réelle dans une fenêtre flottante

Vos images sont trop grandes et/ou trop lourdes, ou vous voulez en afficher plus par page. Vous préfèrerez utiliser des vignettes, plus petites et plus légères. Quitte à afficher l’image en taille réelle dans une fenêtre flottante.

Valeurs à initialiser

Pas de changement par rapport à l’exemple 2. Seulement le nom de la constante change (VIGNETTES_PAGE), ainsi que la valeur (12).

Boucle nb_images

Idem que le cas 1.

Boucle d’affichage des vignettes

Au lieu d’afficher 6 photos dans la page, on affichera 12 vignettes. Le principe est le même.

Mais à la différence du cas précédent, un clic sur une vignette déclenche l’ouverture d’une fenêtre flottante, qui affichera l’image en grandeur réelle. Cet effet est permis grâce à un petit script Javascript classique d’ouverture de fenêtre, à écrire entre les balises <head> et </head> de votre squelette article.html, et dont voici le code :

Ce petit script ouvre une nouvelle fenêtre aux dimensions de l’image. Cette fenêtre charge une page album_image.html, dont voici le code intégral :

Pagination des vignettes

C’est exactement le même système que la fonction paginationImages() du cas 2.

Exemple

Voici un exemple de ce cas

4e cas : affichage de vignettes et d’une image de taille intermédiaire

Ce cas est une variante du 3e cas. Mais il y a quelques différences. Voici comment ça fonctionne :
-  comme indiqué dans le schéma plus haut, la page comprend 2 parties : les vignettes à gauche et une image en taille intermédiaire à droite,
-  un clic sur une vignette, affiche l’image correspondante en taille intermédiaire (donc à droite de la page),
-  un clic sur cette image intermédiaire ouvre une fenêtre flottante avec l’image en taille réelle,
-  des liens de pagination permettent de passer d’un lot de vignettes à l’autre,
-  des liens de pagination permettent de passer d’une image en taille intermédiaire à l’autre (avec un suivi des vignettes si on change de lot)

Comme il y a double pagination (vignettes et image en taille intermédiaire), on aura besoin de 2 paramètres dans l’url (en plus de id_article) : debut_vignette et debut_image.

Il y a une alternative, ce serait d’afficher l’image en taille réelle sous les vignettes. Ca permettrait de s’affranchir de la fenêtre flottante et de laisser plus de place en largeur aux vignettes. Mais ça oblige à faire un défilement vertical, au risque que certains utilisateurs ne sachent pas qu’il y a une image en-dessous.

Valeurs à initialiser

Pas de changement par rapport à l’exemple 3. Seulement la valeur, 8 au lieu de 12, car il y a moins de place.

Boucle nb_images

Idem que le cas 1.

Boucle d’affichage des vignettes

Chaque vignette de la boucle vignettes est entouré d’un lien, qui rechargera la page avec les 2 paramètres debut_vignette et debut_image :
-  debut_vignette est le rang de la 1re vignette du lot : au rechargement de la page, on affichera VIGNETTES_PAGE vignettes à partir de ce rang
-  debut_image est le rang de la vignette en cours : au rechargement de la page, c’est l’image correspondante à cette vignette qui sera affichée en taille intermédiaire.

Pagination des vignettes

Cette fonction de pagination permet de passer d’un lot de 8 vignettes à l’autre. Le paramètre d’url debut_image est le même que le paramètre debut_vignette, car en cas de changement de page, par défaut l’image intermédiaire correspond à la première vignette du lot.

Affichage de l’image intermédiaire

Cette boucle affiche l’image intermédiaire dont le rang est indiqué par le paramètre d’url debut_image. D’où le critère {debut_image,1}. Cette image est limitée à 500 pixels en largeur et 400 pixels en hauteur. Comme dans le cas précédent pour les vignettes, l’image est entourée d’un lien qui provoquera l’ouverture d’une fenêtre avec l’image en taille réelle. On aura donc besoin du même script Javascript que dans le 3e cas, ainsi que de la page album_photo.html.

Pagination de l’image intermédiaire

La pagination de l’image intermédiaire fonctionne comme celle du 1er cas (une seule image affichée avec 2 liens « précédent » et « suivant »). Mais il y a une différence. L’image intermédiaire est une image agrandie de l’une des vignettes affichées. Si, par le biais des liens « précédent » et « suivant », on passe à une image qui ne correspond pas à une des vignettes affichées, il faudra aussi changer de lot de vignettes et donc modifier la valeur du paramètre d’url debut_vignette.

Par exemple, vous avez 8 vignettes par page. Vous faîtes défiler les images en taille intermédiaire jusqu’à la 8e. Maintenant si vous cliquez sur « suivante », vous allez afficher la 9e image. Mais elle correspond à la 1re vignette du lot suivant. Donc il faudra aussi afficher les 8 vignettes suivantes.

Exemple

Voici un exemple de ce cas

P.-S.

  1. Vous aurez peut-être remarqué qu’il n’y a aucun contrôle du nom des images. Téléchargez par exemple une image « vacances de l’été 2004.jpg », SPIP la transformera en « vacances_de_l_ete_2004.jpg ». Donc, il n’y a pas à s’en préoccuper...

Notes

[1Vignette ou miniature : image de taille réduite et de poids réduit

[2Image en taille réelle : l’image telle que vous l’avez téléchargée dans l’interface privée de SPIP

[3Image en taille intermédiaire : image plus petite que l’image en taille réelle, mais de taille acceptable dans la plupart des cas

[4Pagination : action de diviser un ensemble d’images en plusieurs pages, chaque page contenant un lot d’un même nombre d’images (sauf pour la dernière page)

[5Rang d’une image. La boucle récupère un certain nombre d’images en fonction des critères requis. Ces images sont numérotées de 0 à N-1, si N est le nombre d’images. A ne pas confondre avec l’id_document de l’image.

Dernière modification de cette page le 8 février 2006

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 19 juillet 2008 à 02:26, par filou En réponse à : Des boucles pour des albums de photo

    Bonjour,

    j’utilise spip 1.9 Je désire faire plusieurs galeries qui sont dans 3 rubriques différentes. Pour cela j’ai crée mes trois rubriques : galerie A, galerie B, galerie C. Dans chacune des rubriques j’ai crée 1 articles avec des photos insérés par le biais de « joindre un document ».

    Je souhaite utiliser cette contrib et plus précisemment le 4e cas : affichage de vignettes et d’une image de taille intermédiaire.

    Mes galeries doivent etre visible dès que l’on est dans la rubrique galerie A, B ou C. (pas de lien dans les rubriques pour ouvrir un article qui contiendrai la galerie).

    J’ai renommé le squelette fourni dans la contrib (album_photo_04.html) en galerie A.html que j’ai installé dans mon dossier squelettes ; j’ai aussi installé le fichier album_image.php fourni dans le .zip.

    Dans la rubrique galerie A, c’est l’article id=2 qui contient la galerie de photos.

    La galerie fonctionne, j’ai mes vignettes et l’image agrandie en local sur http://localhost:8888/spip.php?galerie A.

    J’ai des problèmes pour afficher les liens des vignettes : Lorsque je suis dans ma galerie et que je clique sur une vignette pour avoir l’image agrandie qui lui correspond j’ai ce message « The requested URL /article.php3 was not found on this server. »

    le problème doit se situer au niveau de la fonction lienPage

    <?php
    function lienPage($id_article, $vignette, $image, $titre, $texte) {
      // affiche un lien avec les param�tres en argument
     

    echo "<a href='article.php3?id_article=$id_article"; Par quoi dois-je remplacer article.php3 , ou dois-je mettre ce fichier ?
    echo "<a href='article.php3?id_article=$id_article";
      echo "&debut_vignette=$vignette&debut_image=$image'";
      echo " title='" . htmlentities($titre, ENT_QUOTES) . "'>$texte</a>";
    }    

    ?>

    Par quoi dois-je remplacer article.php3 , ou dois-je mettre ce fichier ?
    Quelle est la marche à suivre ?

    Merci pour vos réponses.

    Répondre à ce message

  • Le 14 novembre 2004 à 10:37, par ? En réponse à : > Des boucles pour des albums de photo

    serai-t-il possible d’avoir une procédure pas à pas pour l’integration d’une boucle dans un squellette spip ? je suis novice et je n’ai pas trouvé comme le faire :)

    par exemple : où est ce qu’on fait l’include du script de la boucle etc ...
    en fait c’est l’exemple 3 qui m’interesse

    Répondre à ce message

  • Le 9 septembre 2007 à 23:50, par matyeu En réponse à : Des boucles pour des albums de photo

    Bonjour,
    Merci pour cette contrib magnifique…
    J’ai juste une question : Est-il possible de rajouter une boucle spip ou un paramêtre php pour faire aussi un lien sur l’image qui pointe vers l’image suivante ?

    Si une personne pouvait m’éclairer… se serait dement.
    merci

    Répondre à ce message

  • Le 5 décembre 2006 à 11:17, par perrinolivier En réponse à : Des boucles pour des albums de photo

    Bonjour, suis complètement débutant avec spip 1.9. Je l’ai installé en local chez moi et je souhaite faire un site avec des présentations d’images comme le modèle 3 qui me plait beaucoup.

    Je n’arrive pas à installer le module, quels fichiers mettre et où les mettre ?

    comment dois je mettre mes photos dans quel dossier ? directement dans le dossier ou par l’interface administrateur de spip ?

    merci beaucoup pour votre aide

    Répondre à ce message

  • Le 27 octobre 2006 à 17:11, par ocatarina En réponse à : message : parse error

    Bonjour,

    Cette contribution correspond très bien à mon besoin mais je n’arrive pas à l’installer.

    J’obtiens ceci :
    inc-public.php3(60) : eval()’d code on line 155

    Précision :
    -  je bidouille en local (easyphp 1.8 + spip 1.8.3)

    Récapitulatif de mes manips :

    -  création d’un squelette article-110.html

    -  copié/collé du code « PARTIE SPECIFIQUE A L’ALBUM PHOTO » trouvé dans article_album_04.html de cette contribution, à l’endroit où je souhaite voir s’afficher le porfolio

    -  ajout dans le head des déf. de style

    -  ajout dans le head de :
    <?php define("VIGNETTES_PAGE"8); ?>

    <?php $id_article "#ID_ARTICLE"?>

    -  ajout dans le head du code pour le script java

    -  ajout en fin de squelette du code php, après la balise comme dans l’article_album_04.html.

    J’ai tout relu ainsi que les posts associés à cette contrib sans voir la solution.

    Quelqu’un à une idée ?

    • Le 28 octobre 2006 à 10:10, par ocatarina En réponse à : message : parse error

      J’ai oublié de préciser dans le post précédent que je souhaite utiliser le squelette n°4.

      Entre temps j’ai copié le squelette 4 disponible ici, ainsi que le fichier album_image.php, à la racine de mon site en local. J’ai renommé le squelette en article-110.html et refait l’essai : même erreur.

      Je cale.

    • Le 31 octobre 2006 à 18:41, par Patousky En réponse à : message : parse error

      Bonjour,

      Je suis débutant aussi, et j’ai cherché longtemps avant de trouver pour mon problème !!!

      A la ligne n°122 du fichier [album_photo_04.html] :

      echo "<a href='article.php3?id_article=$id_article";

      Si vous changez le nom de fichier, il faut modifier cette ligne avec le nouveau nom souhaité. Par exemple, pour moi, j’ai gardé le nom du fichier téléchargé de l’auteur. Cela donne :

      echo "<a href='album_photo_04.php3?id_article=$id_article";

      Je ne sais pas si c’est ton erreur, mais çà peut aider !!!

      D’un autre côté, j’ai fait des boucles sur ma page qui affiche mon article XX pour afficher l’album :

      Si il y a des documents dans mon article, en bas de celui-ci s’affiche :

      Il y a X photos disponibles : Visualiser l’album.

      Sinon rien ne s’affiche.

      (Note : Le lien pour accéder à l’album se trouve sur Visualiser l’album. et photos disponibles s’accorde au singulier ou au pluriel !)

    • Le 4 novembre 2006 à 18:25, par ocatarina En réponse à : message : parse error

      Merci pour tes précisions et le supplément de code.

      J’ai refait les manips par tous les bouts sans parvenir à un autre résultat que :

      "erreur dans le squelette - erreur d’exécution de la page
      parse error : ...\inc-public.php3(60) : eval()’d code on line 75

      Je récapitule :
      -  J’ai repris le squelette 4 proposé ici et le fichier album_image.php qui va avec.
      -  J’ai renommé le squelette en « article-110.html » car je souhaite localiser mes galeries dans une rubrique spécifique (la 110). Je n’ai rien changé dans ce squelette pour faire le test.
      -  J’ai bien un article publié avec des images jointes comme documents dans cette rubrique.

      Je constate que si je vire la partie :

      Alors j’obtiens bien l’affichage de la photo en taille intermédiaire, avec les liens de pagination et le lien vers une nouvelle fenêtre pour voir la photo en taille réelle.

      Le couac reste donc l’affichage des vignettes et leurs lien de pagination.

      J’ai, bien sûr, testé en modifiant la ligne 122 comme tu l’indiquais. C’est à dire en remplaçant :
      a href=’article.php3 ?id_article=$id_article" ;

      par : a href=’article-110.php3 ?id_article=$id_article" ;

      Mais j’ai exactement le même message d’erreur.

      Je n’aime pas désespérer mais, là, c’est rageant. Suis preneur d’une idée...

      Autre constat en passant : il faut renommer le fichier album_image.php en .php3 pour que ça fonctionne dans ma configuration : en local, spip 1.8.3

    • Le 6 novembre 2006 à 22:15, par ocatarina En réponse à : message : parse error

      A force de m’acharner sur le squelette j’ai délaissé le paramétrage de spip. De fait je n’avais pas validé le mode affichage des vignettes dans les paramètres de spip.

      Une fois cet oubli réparé : ça fonctionne, ouf.

      Par contre je ne vois pas :

      -  comment afficher les vignettes sur deux colonnes (modèle de la maison de heidelberg )
      -  ni l’endroit où on définit la taille des vignettes.

      si quelqu’un a une idée...

    • Le 8 novembre 2006 à 18:36, par ocatarina En réponse à : message : parse error

      A force de bidouiller.... je me réponds donc à moi même, dès fois que ça serve à quelqu’un :
      je souhaitais voir s’afficher les vignettes sur deux colonnes et ce n’était pas le cas. Le problème venait du fait que j’avais laissé la valeur 150 px par défaut dans la taille d’affichage des vignettes dans les paramètres de spip.

      Je suis passé en 75px et ça marche.

      Merci beaucoup pour cette contribution.

    Répondre à ce message

  • Le 30 juillet 2006 à 22:22, par riri16 En réponse à : Des boucles pour des albums de photo

    J’utilise cette contrib depuis longtemps mais depuis que je suis passé à Spip 1.9, ça ne fonctionne plus.
    Qulqu’un peut-il m’aider ?
    Merci

    • Le 23 août 2006 à 13:46, par Paulbe En réponse à : Des boucles pour des albums de photo

      Hello,

      Avez vous déjà trouvé une solution à votre problème ???

      Merci
      Paul

    • Le 31 août 2006 à 08:30, par PhAln En réponse à : Des boucles pour des albums de photo

      J’ai rencontré moi aussi un problème lors du passage à la 1.9.
      Cela semble venir de la boucle vide qui donne le nombre d’images associées au document : #TOTAL_BOUCLE indique 1 (pourquoi ?? ) même s’il y a plus d’images.
      J’ai transformé la boucle de la manière suivante et cela semble fonctionner à nouveau :

                                                              <BOUCLE_nb_images(DOCUMENTS){id_article}{extension==jpg|png|gif}{mode=document}>
          <?php $nb_images = "#COMPTEUR_BOUCLE"; ?>
      </BOUCLE_nb_images>

      J’ai fais ca à l’arrache hier soir et je n’ai pas vérifié tous les cas...

    Répondre à ce message

  • Le 5 mai 2006 à 16:52, par Benjamin Farrudja En réponse à : Des boucles pour des albums de photo

    Bonjour,

    Merci super album photo, je l’ai installé l’option 4 avec un , j’ai répété les liens de pagination au dessus des vignettes et des photos c’est plus pratique et aligné les vignettes...

    Par contre deux problèmes avec mon SPIP 1.8.3 installé en local :

    -  Sur les 3 premières images de l’album il y a un petit problème, j’obtient cette erreur à la place de l’image en taille moyenne :

    Warning : Division by zero in /var/www/VTT-Montagne/inc-public.php3(20) : eval()’d code on line 203

    Warning : Division by zero in /var/www/VTT-Montagne/inc-public.php3(20) : eval()’d code on line 203

    -  Lorsqu’il n’y a pas d’image j’ai un méchant décalage avec tout ce qu’il a en dessous de de . Moins grave pour l’instant car j’ai bidouiller une balise de test dans mon squelette article qui m’évite ce problème.

    Merci

    Répondre à ce message

  • Le 14 septembre 2005 à 19:50, par yvo En réponse à : changement de version de la 1.8.1 à la 1.8.2

    Bonjour,
    Utilisant le 4e cas je me retrouve avec un « Parse error : parse error, unexpected T_LNUMBER in c :\program files\easyphp1-7\www\spip-v1-8-1\inc-public.php3(60) : eval()’d code on line 152 »

    Dans Spip 1.8.1 aucun^problème, cela fonctionne très bien mais en 1.8.2.d cela ne veut plus dire papa maman ?

    Mon souci provient du passage suivant : !— affiche un lot de vignettes dont le rang de la 1re est indiqué par le paramètre debut_vignette —>


    <?php 
                $debut_vignette 
    = isset($_GET["debut_vignette"]) ? $_GET["debut_vignette"] : 0
                
    $id_vignette $debut_vignette;
            
    ?>


    <?php 
                lienPage
    ($id_article$debut_vignette$id_vignette"agrandir l'image""#LOGO_DOCUMENT"); 
                
    $id_vignette++; 
            
    ?>


    <?php paginationVignettes($id_article$nb_images); ?>

    Est-ce que quelqu’un peut m’aider ?

    Merci d’avance

    • Le 12 novembre 2005 à 21:02, par fleuryf En réponse à : changement de version de la 1.8.1 à la 1.8.2

      J’ai rencontrtré le même problème avec la SPIP 1.8.2.e

      Le problème réside dans le fait que la chaine #LOGO_DOCUMENTS génère du à la fois des guillements simples et des doubles :

      <img src='//static-contrib.spip.net/IMG/vignettes/00-s.jpg' width="150" height="93" alt='' style='border-width: 0px;' class='spip_logos' />

      Hors cette chaine est utilisée dans l’appel de fonction suivant :

      lienPage($id_article, $debut_vignette, $id_vignette, "agrandir l'image", "#LOGO_DOCUMENT");

      Ce qui produit une fin de chaine juste après width= ...

      La solution que j’ai trouvée et qui n’es pas forcément la meilleure, est de faire en sorte qui SPIP ne génère pas une chaine avec des guillements mixés.

      dans le fichier inc-calcul-outils.php3, il faut ajouter la ligne suivant aux 3 occurences de getimagesize.

      $size = @getimagesize($img);
      $size[3] = str_replace( '"', "'", $size[3] );
    • Le 9 janvier 2006 à 12:09, par ubik_00 En réponse à : changement de version de la 1.8.1 à la 1.8.2

      J’avais le même problème, j’ai essayé d’ajouter les lignes comme expliqué ci dessus mais je reçois le message d’erreur suivant

      , je n’arrive plus non plus à me connecter à l’espace privé. Une idée ?
      Merci !

    • Le 14 février 2006 à 18:43, par p@ddy En réponse à : changement de version de la 1.8.1 à la 1.8.2

      j’ai fait pour SPIP 1.82d
      On peut aussi faire un filtre come ça ;

      Dans les

    Répondre à ce message

  • Le 27 janvier 2006 à 19:14, par Paulbe En réponse à : Des boucles pour des albums de photo

    J’utilise avec bonheur cette contrib

    Et plus précisément le type 4
    Miniature + taille intermédiaire

    et clic sur l’image de taille intermédiaire = ouverture du pop up avec chargement de l’image en taille réelle.

    Mon problème c’est qu’il n’y a aucune limitation en taille et pas d’ascenseurs dans mon pop up !
    avec une image de 2400 sur 1800 c’est-à-dire que j’en vois à peu près 1/4 à l’écran !

    Moi je redimensionne mes images avant de les mettre en ligne mais d’autres rédacteurs envoient du 2400*1800 !

    Peut-on au minimum retrouver les ascenseurs sur la fenêtre pop up ou mieux limiter à 800*600 par exemple

    Merci et @ bientôt

    Paulbe

    Répondre à ce message

  • Le 1er août 2005 à 11:12, par AL En réponse à : > Des boucles pour des albums de photo

    Comment est-ce que je pourrais modifier ce code afin que les images s’ouvrent dans une fenetre avec une scrollbar ? Parce que j’affiche des images dont la taille est superieure à ma résolution (1024*768) et ça fait que je ne peut pas les voir entierement. J’utilise le 3e cas.
    Merci.

    • Le 12 novembre 2005 à 21:18, par fleuryf En réponse à : > Des boucles pour des albums de photo

      Pour afficher une image de très grande dimension dans une fenêtre avec scrollbar, il faut modifier le squelette, en ajoutant à l’appel window.open le paramètre scrollbars=yes :

      function fenetre(image, largeur, hauteur, titre)
      window.open(« album_image.php ?img= » + image + « &larg= » + largeur + « &haut= » + hauteur + « &titre= » + escape(titre), «  », « scrollbars=yes, width= » + largeur + « ,height= » + hauteur) ;

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Hyperspace : squelette responsive

    8 mars 2016 – 45 commentaires

    Description Ce squelette distribué en plugin est un portage pour SPIP du thème responsive « Hyperspace », proposé sur le site . Voir la démo originale : Sites utilisant le plugin : C’est une base de départ pour l’intégration d’un site simple de (...)

  • Escal-V3 et Escal-V4

    16 février 2012 – 320 commentaires

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé. Présentation A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes les (...)

  • Planning simple

    9 septembre 2015 – commentaires

    Ce plugin permet de créer et imprimer un emploi du temps de façon simple. Il dispose de deux méthodes, l’une est d’écrire une liste des évènements dans le corps de l’article, l’autre requiert le plugin agenda. Le plugin planning simple permet (...)

  • Réservation d’événements

    16 mars 2015 – 348 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification Facteur (...)

  • Enluminures typographiques V3

    25 juillet 2009 – 201 commentaires

    Les Enluminures typographiques V3 permettent d’ajouter au Porte plume les raccourcis typographiques présents dans le Plugin Barre Typographique Enluminée. C’est une extension du PortePlume. Pour la documentation d’usage, se reporter à celle du (...)