Albums

Ce plugin permet d’afficher une ou plusieurs galeries d’images au fil du texte, dans les articles et ailleurs.

Un portfolio… des albums !

Qui rédige un récit de voyage, par exemple, aimerait pouvoir illustrer son article de plusieurs petites séries de photos, une par jour. Or SPIP ne permet de faire qu’un seul album photo par article, le « portfolio ». Ce plugin permet de créer et afficher plusieurs « albums » au fil du texte, au sein d’un même article. Et où bon vous semble.

Insertion d’un album au fil du texte

Pour afficher un album dans un article, il suffit d’appeler le modèle homonyme, dans le champ de saisie, en indiquant les identifiants des documents voulus, comme ceci :

<album|id=17,2,63,15>

Il est également possible d’afficher tous les documents d’un article (c’est-à-dire le « portfolio » SPIP d’un article), comme ceci :

<album|id_article=211>

Il est possible de donner un titre à chaque album, comme ceci :

<album|id=17,2,63,15|titre=Mon super titre, hé !>

C’est peu utile, mais il est possible d’aligner chaque album, comme on le fait pour les images et documents : en passant le paramètre center, left ou right. Par exemple :

<album|right|id=17,2,63,15>

Utilisation dans les squelettes

L’album s’insère dans les squelettes comme n’importe quel autre modèle, sans oublier de passer les id des documents voulus, comme suit :

#MODELE{album,id=17,2,63,15}

Pour remplacer le portfolio par défaut de SPIP, sous l’article, on écrira :

[(#MODELE{album,id_article,env}{titre=<:info_portfolio:>})]

Structure et style des albums

L’habituel « portfolio » de SPIP est remplacé par le modèle « album », afin d’homogénéiser le rendu et vous faciliter le travail. Ainsi style et structure sont les mêmes pour les albums insérés au fil du texte que pour portfolio qui fait suite à l’article.

Code généré

Un album est une liste de documents. Voici sa structure HTML de base :

<div class="album clearfix p right" id="album15">
	<h2>Titre de l'album</h2>
	<ul>
		<li><a href="#"><img src="..."></a></li>
		<li>etc.</li>
	</ul>
</div>

Habillage CSS

-  .clearfix, .p, .left, .right et .center : étant déjà définis dans les feuilles de styles de la dist ou dans votre framework CSS de prédilection, il est inutile (et déconseillé) de les redéfinir dans ce plugin. S’il vous font défaut, déclarez-les dans vos propres feuilles de styles, en prenant modèle sur la dist de SPIP3.
-  C’est le sélecteur .album que vous utiliserez pour cibler tous les albums d’un coup et les habiller à votre goût.

Pour personnaliser, vous pouvez déposer votre CSS dans une feuille de style nommée « album.css » dans le sous-répertoire /css de votre dossier squelettes.

Évolution / todolist

Cette première version du plugin ne fait que se greffer sur la dist de SPIP pour proposer un modèle d’insertion d’album. Ce plugin devrait évoluer pour
-  être complété d’un objet SPIP « album » de façon à
-  pouvoir constituer des albums [*] dans la médiathèque avant de
-  les insérer plus simplement dans les articles, via le raccourci « <album25> ».

Un même document peut appartenir à deux albums différents

Notes

[*Un album est un ensemble de documents, que l’on peut afficher en galerie (ou en liste) au fil du texte, dans un article ou ailleurs.

Discussion

35 discussions

  • J’ai une erreur (partie privée et publique) en utilisant le plugin Albums :

    Filtre my_parse_id non défini

    Que faire ? Vous avez une idée ?

    Merci

    Robert

    Répondre à ce message

  • album V2.2.4

    Pb pour classement par num titre : le 2. est classé après le 19.
    solution : numéroter 02. (si moins de 99. documents ...)
    (curieux car pas ce pb pour les articles)

    <album|id=n,m,...> de V1 remplacé par <albumX|par num titre> pour V2 donc.
    Mais, si on veut que le doc D soit dans l’album X et dans l’album Y classé par num titre,
    pas d’autres solutions que de dupliquer le doc D ! en D1 et D2 avec num titre différent pour X et Y (c’est tout à fait gérable ;)

    Répondre à ce message

  • 3
    Thiébaut

    Merci pour ce plugin à la fois très pratique et prometteur.

    J’aimerais étendre aux images contenues dans les albums la boucle proposée dans l’article intitulé « Afficher une planche contact des images du site ».

    La boucle affiche aux hasard les vignettes d’un certain nombre d’images associées aux articles et aux rubriques, tout en récupérant les liens desdits objets associés.

    Il est facile d’adapter la boucle pour qu’elle renvoie à l’album associé aux images :

    <BOUCLE_lien_alb(spip_documents_liens){id_document}{objet=album}>
    <BOUCLE_lien_album(ALBUMS){id_album=#ID_OBJET}>
    <a href="#URL_ALBUM">[(#_img:FICHIER|image_reduire{0,150})]</a>
    </BOUCLE_lien_album>
     </BOUCLE_lien_alb>

    Il doit y avoir une astuce toute simple pour que la boucle récupère plutôt les liens des articles associés aux albums... mais je ne suis pas assez aguerri aux boucles !

    Un coup de pouce ? Merci par avance ! ;-)

    • Thiébaut

      Je reformule ma question, car elle ne me paraît pas assez claire :

      Comment faire en sorte que les vignettes d’images récupérées par la boucle, quand elles appartiennent à un album associé à un article, pointent directement vers cet article ?

      (Pour le moment, elles pointent vers l’album)

    • Bonjour,
      cette article pourrait vous aider : http://www.spip.net/fr_article4254.html
      à priori j’essayerai plutôt d’interroger la table albums_liens

      <BOUCLE_lien_alb(spip_albums_liens){par hasard}{0, nbre}{objet=article ou rubrique}>
      <BOUCLE_doc(DOCUMENT){id_album}{par hasard}{0,1}>
      <a href="#OBJET#ID_OBJET"> #LOGO_DOCUMENT </a>
      <BOUCLE_doc></BOUCLE_lien_alb>

      sans garantie, juste une piste peut être.

    • Thiébaut

      Effectivement, je n’avais pas pensé à ça... mais du coup entre temps j’ai abandonné le plugin Album... donc je ne peux tester cette Boucle. Cela servira peut-être au prochain courageux ou à la prochaine courageuse !

    Répondre à ce message

  • 1

    album V2.2.4 Stable !
    merci .

    manque plus que la doc (mais on s’en tire avec les modèles)
    ex : <album|id=10,14,12,15>
    remplacé par <albumX|par num titre>
    pour afficher par num titre

    Ajouter une image ou un document
    > depuis : .. | la médiathèque | ...
    > Document(s) numéro(s)
    (s) ! on peut en effet ajouter un ensemble de document en séparant les numéros d’une virgule.

    On a toujours :

    <album|id=1,2> et <album|id=3,4> chacun des 2 ouvre une galerie avec les 4 documents. Ça ne semble pas venir du plugin , plutôt de médiabox non ?

    sans doute peut être car dans l’espace privé ça se passe bien ?

    • Pb résolu . par mise à jour ?
      La galerie médiabox (boite permettant visionnement photos, diaporama) qui s’ouvre en cliquant sur le document d’un album inséré par <albumX> se limite maintenant aux documents de l’album X, sans passer à l’album suivant.
      (qcq messages à supprimer dans ce forum)

    Répondre à ce message

  • Bonjour,
    Petit problème avec les logos des albums depuis la mise à jour. Il n’est plus possible d’associer un logo à un album. Le dialogue dans la colonne de droite de l’objet album ne dispose plus du cadre logo ! Avez vous une idée comment je pourrais remettre cela en place ?

    Répondre à ce message

  • Toujours pas de solution...

    De l’aide...

    J’arrive à afficher les albums avec les id des documents. Mais comment faire pour que le portfolio persiste dans mon squelette article avec les images qui ne sont pas sélectionnées dans les albums. Je n’y arrive pas du tout. Et en plus mes images apparaissent en double (dans l’album et dans la partie portfolio en bas de l’article...)

    Merci

    Robert

    Répondre à ce message

  • Bonjour,

    Après un essai avec les dernières versions du plugin et de spip, je constate que quans je mets dans un article 2 albums :

    <album|id=1,2> et <album|id=3,4> chacun des 2 ouvre une galerie avec les 4 documents.

    Ça ne semble pas venir du plugin , plutôt de médiabox non ?

    Répondre à ce message

  • 3

    Bonjour,

    j’ai installé ce plugin, aucun effet !?...
    Déjà, est-ce que je devrais voir les albums dans le fil du texte dans la partie privé ?

    Site sous SPIP 3.0.4. Utilisant le squelette typomanic, géoportail, cirv , ciautoriser et le couteau suisse, j’ai tout désactivé (sauf Saisies installé avec Albums !) pour vérifier incompatibilité possible. J’ai désinstallé réinstallé. Toujours rien.
    (J’ai aussi essayé d’installer la V2 en test ...)
    La page en question : http://blo.ouvaton.org/spip.php?article10 (sous « La nécessité de l’action : » il y a <album|id=66,67,68,105,70,20,69,72>)

    Peut être plutôt attendre la V2 ?...
    (Si le plugin Spip-Geoportail pouvait geotaguer des Albums cela résoudrait mon autre problème ’ ;)

    • Rebonjour,
      curieusement cela marche avec Epiphany mais ni avec Iceweasel ni avec Chrome ?!...
      (je ne peux d’ailleurs pas accéder au message de spip contrib avec ces deux derniers navigateurs ?!... au lieu des messages j’ai « Chargement en cours... »)

      Je retire ce que je viens de dire précédemment, (sauf pour la parenthèse, toujours pas. on va dire que c’est la faute aux navigateurs ...) j’ai maintenant les albums avec chrome ?!...
      J’ai rien fait pourtant ?!... une histoire de cache cache ? j’avais recalculé plusieurs fois pourtant ?...

      Excusez du dérangement ci aucune info à tirer de mon post.

    • rereBonjour,
      (oui les albums insérés dans le fil du texte sont visible dans la partie privé)

      Il est dommage que en ouvrant le diaporama en cliquant sur une diapo d’un album on ne s’arrête pas à la fin de l’album ...

      en remplaçant par [(#MODELEalbum,id_article,envtitre=<:info_portfolio :>)]
      j’ai à la place du portfolio en bas de l’article, le texte « info portfolio », et, une image aléatoire (pas de l’article) qui se place en dessous !?...

    • Pas aléatoire ...
      dont l’ id est le même que celui de l’article ...
      (c’est sans doute dans le modèle album que ça se situe ... je trouve pas)

    Répondre à ce message

  • 1

    Je me prends le chou !

    J’arrive à afficher les albums avec les id des documents. Mais comment faire pour que le portfolio persiste dans mon squelette article avec les images qui ne sont pas sélectionnées dans les albums. Je n’y arrive pas du tout.

    Merci

    Robert

    • Moi non plus : soit j’ai les images du portfolio en double soit pas du tout.

    Répondre à ce message

  • 2

    Bonjour !

    super plugin qui répond à mes besoins (en version 1.1.0).

    j’ai tout de même une petite suggestion d’amélioration : quand on a beaucoup d’images, il est fastidieux de mettre tous les numéros. Il serait intéressant de pouvoir faire <album|id=12-27> pour faire un album avec les documents 12 à 27.

    J’ai implémenté ça comme ça : j’ai ajouté la fonction suivante dans mes_fonctions.php

    function my_parse_id($flux) {
       if (preg_match("/([0-9]+)\-([0-9]+)/", $flux, $res)) {
          $min = min($res[1], $res[2]);
          $max = max($res[1], $res[2]);
          $ids = "$min";
          for ($i = $min+1; $i <= $max; $i++) {
             $ids = "$ids ,  $i";
          }
          return $ids;
       } else {
          return $flux;
       }
    }

    et j’ai surchargé le modèle album.html :

    <BOUCLE_album(DOCUMENTS) {id_document IN (#ENV{id}|my_parse_id|explode{','})}>

    et ça marche impec.

    • Bonjour,

      Quel est le fichier « mes_fonctions.php » dont vous parlez dans votre post ?
      J’en ai bien un, mais uniquement dans le plugin « couteau suisse ».

    • Il est à mettre dans le répertoire squelettes/

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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