SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 69 visiteurs en ce moment

Accueil > Affichage multimédia > Galeries et diaporamas > Albums > Albums 3

Albums 3

8 août 2014 – par tcharlss – 282 commentaires

Toutes les versions de cet article : [English] [français]

47 votes

Le plugin « Albums » évolue dans une version 3 pour SPIP 3.

Avant d’effectuer une mise à jour depuis la version 1 ou 2, consultez les notes sur la rétro-compatibilité. Les modèles, notamment, on reçut quelques changements pour la bonne cause.

En préambule, une courte vidéo de présentation.
Si vous rencontrez des difficultés pour la lecture, rendez vous sur medias.spip.net où le fichier source est téléchargeable.

Des albums, pour quoi faire ?

Dans sa première version, le plugin permettait d’insérer des galeries d’images au fil du texte, dans les articles.

Depuis la version 2, les albums sont des objets éditoriaux à part entière, aussi la portée du plugin est plus générale : il sert à la gestion de groupes de documents.

Des groupes de documents

Un album, c’est donc un conteneur pour une série de documents.
Précisons le bien, si le terme « album » évoque des albums d’images, il peut contenir tout type de document : images, bandes-son, vidéos et autres.
Un même document peut appartenir à plusieurs albums : toutes sortes de combinaisons sont envisageables.

Les albums sont des groupes de documents

Albums et documents liés à un objet

En SPIP 3, les documents liés à un objet sont présentés sous forme de 3 groupes : « illustrations », « portfolio » et « documents ». Leur finalité est expliquée dans cet article, mais retenons qu’il s’agit d’une séparation arbitraire pensée pour les articles.
Dans cette documentation, on va se référer à ces documents comme des documents « individuels », par opposition au documents regroupés au sein d’albums.

Les documents individuels et les albums sont indépendants et n’ont pas d’incidence l’un sur l’autre : on peut continuer à gérer les documents individuels comme avant.
En pratique, vous avez le choix au moment d’ajouter des documents à un objet : ils peuvent être ajoutés individuellement, ou regroupés au sein d’albums.

Albums et documents liés
Documents individuels et regroupés aux seins d’albums

Installation & configuration

L’installation se fait comme n’importe que plugin.
2 tables vont être ajoutées : spip_albums et spip_albums_liens.

Des plugins supplémentaires doivent être installés si vous souhaitez bénéficier du formulaire qui permet de personnaliser les balises <album> à insérer dans le texte. Il s’agit de dépendances optionnelles.

Une fois l’installation effectuée, un passage sur la page de configuration est ensuite nécessaire. Elle est constituée de 2 onglets.

Onglet « options »
L’option principale permet de définir sur quels objets les albums pourront être ajoutés.
2 autres options permettent de proposer un titre par défaut lorsqu’on ajoute un nouvel album à un objet, et d’activer le déplacement de documents par cliquer-glisser.

Onglet « outils »
Un formulaire permet de migrer des articles en albums.
Il est prévu dans le cas où l’on se servait d’articles comme de pseudo albums, et se charge de créer des vrais albums à l’identique à partir de ceux-ci.

Utilisation

Les albums peuvent être autonomes ou liés à d’autres objets éditoriaux.

⇒ Dans le cas d’albums autonomes, on les créera depuis la barre d’outil rapide ou depuis la page des albums, comme n’importe quel objet éditorial.

⇒ Dans le cas d’albums liés à des objet éditoriaux, leur gestion est assez similaire à celle des documents : on peut gérer les albums depuis la fiche d’un objet ou lorsque celui-ci est en cours d’édition.

Gestion des albums sur la fiche d’un objet

Sur la fiche d’un objet éditorial, les albums font suite aux documents. L’interface permet d’ajouter de nouveaux albums ou des albums existants, d’éditer leur texte et de manipuler leurs documents.

Albums et documents liés
1) documents « individuels » 2) documents regroupés au sein d’albums

Ajouter des albums

Le bouton « Ajouter un album » fait apparaître un formulaire proposant deux méthodes [1] :

Créer et remplir un nouvel album. Titre et descriptif sont optionnels : laissé vide, le titre sera rempli à posteriori avec « Nouvel album N° X ».

Choisir un ou plusieurs albums existants : on peut parcourir la liste, ou rentrer directement les numéros des albums.

Ajouter un album à un objet éditorial
1) Créer et remplir un nouvel album 2) Choisir un ou plusieurs albums existants

Editer un album sur place

Les albums peuvent être édités sur place. Pour l’édition complète (gestion des auteurs, des mots-clés etc.), on se rendra sur leur fiche.

Editer le texte : une icône apparaît au survol du header, elle permet d’afficher le formulaire d’édition du titre et du descriptif.

Ajouter des documents : un lien situé en bas fait apparaître le formulaire d’ajout de documents.

Manipuler les documents : les boutons d’édition apparaissent au survol de chaque document.

Il est également possible, sous certaines conditions, de déplacer des documents entre albums par cliquer-glisser.

Édition rapide d’un album
1) Editer titre et descriptif 2) Ajouter des documents 3) Modifier les documents

Retirer des albums

Pour retirer un album, cliquer sur le bouton qui apparaît au survol, en bas de chaque album.
Lorsqu’il y a plusieurs albums, un bouton présent à la fin de la liste permet de tous les retirer d’un coup.

Gestion des albums lors de l’édition d’un objet

Pendant l’édition d’un objet, la gestion des albums s’opère au même endroit que celle des documents, dans la colonne de gauche.
Quand l’objet peut recevoir à la fois des documents et des albums, un menu permet de basculer entre les deux.

Albums et documents lors de l’édition d’un objet
1) Gestion des documents 2) Gestion des albums

Ajouter, éditer et retirer les albums

On gère les albums de la même façon que lorsqu’on se trouve sur la fiche de l’objet : même formulaire pour ajouter des documents, mêmes possibilités pour éditer les albums et manipuler leur documents.


Insertion des balises <album> dans le texte

Les albums insérés dans le texte au moyen de la balise <albumX> seront automatiquement associés à l’objet : ce comportement est similaire à celui des balises <doc>, <img> et <emb> des documents.

Un formulaire permet de personnaliser les balises de chaque album : choix de la variante, alignement, paramètres des modèles, etc.

Important : pour bénéficier de cette fonctionnalité, des plugins supplémentaires doivent être installés. Consultez la section sur l’installation.

Personnaliser la balise d’un album
En mode édition, un formulaire permet de personnaliser la balise de chaque album en vue de l’insérer dans le texte.

Les modèles

L’apparence, la structure et certains paramètres évoluent par rapport aux versions 1 et 2. Consultez les notes sur la rétro-compatibilité.

2 modèles « album » sont proposés : le modèle de base est une vue en vignettes, complété d’une variante avec une vue en liste.
Par défaut, ces 2 modèles produisent un affichage minimaliste : titre, descriptif, et autres éléments "superflus" ne sont pas affichés à moins d’utiliser les paramètres adéquats (détaillés plus bas).
De même, la feuille de style chargée sur le site public ne contient que le strict minimum.

Ces 2 modèles ne prétendent pas répondre à tous les cas de figure. Les usages possibles sont trop vastes pour être tous pris en compte par un modèle générique : listes de lecture audio ou vidéo, diaporamas, etc.
Pour vos besoins spécifiques, ajoutez des variantes du modèle.

Modèle <album> : vue en vignettes

Modèle album par défaut : vue en vignettes

Ce modèle est prévu pour afficher des séries d’images : les documents sont affichés sous forme de vignettes cliquables.
Il est basé sur Tiny Typo, la base CSS de Romy Têtue.
Les images peuvent être retaillées et recadrées pour obtenir un affichage uniforme, par défaut elles sont retaillées selon une hauteur de 100 pixels.

La structure HTML de base est la suivante (avec #HTML5 activé) :

<figure class="album vignettes figure">
   <ul>
       <li>
           <a href="#"><img src="..."></a>
       </li>
   </ul>
   <figcaption>...</figcaption>
</figure>

Modèle <album|liste> : vue en liste

Modèle album, variante sous forme de liste

Cette variante affiche les documents sous forme d’une simple liste. Elle est donc adaptée à tout type de documents.

La structure HTML de base est la suivante :

<div class="album liste">
   <ul class="spip">
       <li>
           <a href="#">...</a>
       </li>
   </ul>
</div>


Paramètres des modèles

Paramètres communs aux 2 modèles
Paramètre Description
titre « oui » pour afficher le titre
N’importe quelle chaîne pour un titre personnalisé.
balise_titre Pour encapsuler le titre dans une balise, sans les chevrons.
→ strong, h4, etc.
descriptif « oui » pour afficher le descriptif
par Tri des documents, défaut : « titre »
→ date, titre, media, fichier, extension, taille
media Pour restreindre à un type de document
→ image, file, audio, video
Paramètres propres à la variante « vignettes »
Paramètre Description
largeur Largeur maximale des vignettes
hauteur Hauteur maximale des vignettes, défaut : 100 (pixels)
recadrer « oui » pour recadrer les images
label « oui » pour afficher le titre de chaque document
Paramètres propres à la variante « liste »
Paramètre Description
metas « oui » pour afficher les infos complémentaires de chaque fichier, ou une liste d’éléments séparés par des virgules :
→ extension, taille, dimensions


Ajouter des modèles

Pour que vos propres variantes du modèle soient prises en compte par le formulaire de personnalisation des balises, il faut créer un fichier YAML en plus du squelette HTML.

Ce fonctionnement est inspiré par celui du plugin Insérer Modèles : chaque fichier YAML décrit le modèle et ses paramètres, sous forme de saisies. La syntaxe est identique, avec toutefois 2 éléments supplémentaires :

  • alias : nom de la variante
  • description : description de la variante (optionnelle)

Pour assurer la compatibilité avec le plugin cité plus haut, 4 paramètres sont obligatoires : modele, id_modele, id_album et variante.
Les 3 premiers étant identiques pour toutes les variantes, ils sont regroupés dans un fichier inc-yaml/album-compat.yaml qu’il suffit d’inclure.

Pour les saisies, une option supplémentaire config permet d’avoir comme valeur par défaut un réglage stocké dans la table spip_meta.
Dans l’idée, config:'truc' revient à faire 'defaut'=>lire_config('truc') en php.

Exemple : Imaginons un plugin fournissant une variante « diaporama ».
Ce modèle accepterait entre autre un paramètre vitesse dont la valeur par défaut serait enregistrée dans une méta du plugin. Le squelette HTML serait nommé album_diaporama.html et le fichier YAML album_diaporama.yaml.
Ce dernier ressemblerait à ça :

nom: 'un album (diaporama)'
logo: 'prive/themes/spip/images/album-24.png'
icone_barre: 'album-diaporama.png'
alias: 'Diaporama'
parametres:
 - 'inclure:inc-yaml/album-compat.yaml'
 -
   saisie: 'hidden'
   options:
     nom: 'variante'
     defaut: 'diaporama'
 -
   saisie: 'input'
   options:
     nom: 'vitesse'
     config: 'plugin/vitesse'
 - le reste des saisies...

En cas de doute, vous pouvez prendre la variante « liste » comme référence.

Albumothèque

Albumothèque

L’albumothèque est l’équivalent de la médiathèque, pour les albums.

Les filtres situés dans la colonne de gauche sont prévus pour sélectionner les albums en fonction de leurs documents et de leurs liaisons avec les objets : articles, auteurs, mots-clés etc. Attention, il ne s’agit pas de menus, mais bien de filtres : un clic pour activer, un autre pour désactiver.

Des champs avec autocomplétion permettent de trouver un objet précis.
Par exemple, pour afficher les albums liés à un article en particulier, il faut cliquer sur l’icône à droite du filtre « articles », puis rentrer les premières lettres du titre ou son numéro : les articles correspondants vont apparaître dans une liste déroulante, cliquer sur un résultat va mettre à jour la liste des albums.
La fontion d’autocomplétion ne va chercher que les objets ayant un lien avec les albums.

Albumothèque : filtres
Des champs avec autocomplétion permettent de trouver les objets liés aux albums.

Déplacer des documents entre albums par cliquer-glisser

Il est possible de déplacer les documents entre albums par cliquer-glisser. L’option doit être activée dans la page de configuration, et vous devez y être autorisé.
Gardez en tête qu’il s’agit d’une fonctionnalité un peu expérimentale !

Lorsqu’on entame le déplacement d’un document, les albums pouvant recevoir celui-ci sont surlignés d’une bordure verte, il suffit d’y relacher le document. Dès qu’un document à été déplacé, un formulaire apparaît en bas de la liste pour enregistrer les modifications. On peut cependant effectuer plusieurs déplacement d’affilée avant de les enregistrer.

Notez qu’il est possible de manipuler également les documents « individuels » liés aux objets.

Déplacer des documents entre albums par cliquer-glisser
1) Effectuer un ou plusieurs déplacements 2) Valider avec le formulaire qui apparaît en bas

Boucles & critères

Critère {orphelins}

Le critère {orphelins} permet de sélectionner les albums sans lien avec un objet éditorial (on qualifiait ces albums « d’autonomes » plus haut).

Jointures

Les albums ont une jointure automatique pour tous les objets (cf. déclaration de la base).

Dès qu’un qu’un id_xxx est présent dans l’environnement, on peut donc sélectionner les albums liés à l’objet sans avoir à faire de jointure explicite avec la table de liens :
<BOUCLE_albums(ALBUMS){id_xxx}>

Attention, pour {id_auteur}, le comportement est différent :

  • <BOUCLE_albums(ALBUMS){id_auteur}> sélectionne les albums de l’auteur (d’après la table spip_auteurs_liens).
  • <BOUCLE_albums(ALBUMS){objet=auteur}{id_objet=#ID_AUTEUR}> sélectionne les albums liés à l’auteur (d’après la table spip_albums_liens).


Sélectionner les albums en fonction de leurs documents

En faisant une jointure avec la table spip_documents, on peut utiliser certains critères des documents :
<BOUCLE_albums(ALBUMS documents){documents.critere=xxx}>
Quelques exemples avec les critères les plus utiles :

  • {documents.media IN image,audio} : albums contenant des images ou des bandes-sons.
  • {documents.id_document=x} : albums contenant le document n°x.
  • {documents.titre LIKE %truc%} : albums contenant des documents dont le titre ou le nom de fichier comprend le terme « truc ».
  • {documents.extension == mp3|ogg|oga} : albums contenant des fichiers mp3 ou ogg audio.
  • {documents.taille > 1000000} : albums contenant des documents d’une taille supérieure à 1Mo [2].

Autorisations

Voici comment sont définies certaines autorisations particulières (les administrateurs complets peuvent tout faire).

  • Modifier un album : il faut être auteur de l’album et avoir le droit de modifier tous les objets auquel l’album est lié.
  • Ajouter un album à un objet : il faut que l’objet soit activé dans les options, et avoir le droit de le modifier.
  • Déplacer des documents entre albums : il faut que l’option soit activée, et dans le contexte d’un objet, avoir le droit de modifier tous les albums liés.
  • Supprimer un album : il faut qu’il soit vide, inutilisé et non publié.

Rétro-compatibilité

Modèles

La syntaxe de la version 1, qui avait disparu de la version 2, est à nouveau supportée dans cette version : <album|id_article=x> et <album|id=x,y,z>

La structure du modèle de base a changé, afin notamment de respecter l’usage des balises <figure> et <figcaption> en HTML5.

Visuellement, quelques altérations ont eu lieu :
-  par défaut, les titres sont cachés.
-  le titre et le descriptif du modèle de base passent en bas.

Changement de quelques paramètres :
-  vignettes & liste : titraille est supprimé
-  vignettes & liste : balise_titraille est déprécié au profit de balise_titre
-  liste : infos est déprécié au profit de metas

Divers

-  Le critère {contenu} apparu dans la version 2 est supprimé : on peut utiliser à la place le critère {documents.media == x} avec une jointure (ALBUMS documents) pour un résultat similaire.
Voir la section sur les jointures.

Paramétrage fin par les constantes

-  Constante _ALBUMS_TITRE_COURT : si vous insérez define('_ALBUMS_TITRE_COURT','oui'); dans votre mes_options.php, le titre des images sous les images sera réduit à leur titre et n’incluera pas les indications techniques.

Voir en ligne : https://plugins.spip.net/albums

P.-S.


La version 2 du plugin est documentée ici.
Elle a en quelque sorte servi de transition entre la version 1 et la présente version, qui est la version « correcte » pour SPIP 3. La branche 2 n’est plus amenée à évoluer, et ne recevra que des corrections de bugs.
D’ailleurs, n’hésitez pas à signaler les bugs de la version 2 sur ce forum, en précisant bien quelle version est concernée.

Notes

[1Techniquement, le formulaire « ajouter_album » est une fusion des formulaires « editer_album » et « ajouter_document »

[21000000 octets = 975ko, mais on ne va pas chipoter

Dernière modification de cette page le 5 novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 17 juin à 20:02, par inaden En réponse à : Albums 3

    Bonjour à tous

    Je suis sur SPIP 3.2.1 avec la dernière version d’album (3.5.7). Le problème c’est que mes vignettes n’ont pas la même hauteur et qu’elles se rangent donc n’importe comment (voir fichier joint). Pour l’instant je suis sur les squelettes-dist et j’aimerais bien que les vignettes se range correctement avant de me lancer dans la transformation graphique de mes squelettes.

    Si quelqu’un a une idée, merci d’avance.

    • Le 25 juin à 18:04, par inaden En réponse à : Albums 3

      Bonjour

      Suis passé sous des squelettes retouchés et c’est toujours la même chose. Pour info, mes images ont la même hauteur à l’origine.

      Personne pour un avis, une idée, un truc ???? :-(

    • Le 25 juin à 18:17, par tcharlss En réponse à : Albums 3

      Salut,

      Une URL où jeter un coup d’oeil ?

      Sinon tu peux passer une option pour qu’elles aient toutes la même hauteur, ou bien les recadrer.

    • Le 25 juin à 18:27, par inaden En réponse à : Albums 3

      Merci pour ta réponse.
      J’ai mis dans le fichier mes_options une option pour éviter l’affichage des données type JPEG, poids, etc dans les agrandissement d’image.

      Le problème se posait déjà sur mon premier site par exemple là et maintenant, en je suis en train de le refaire.
      Jusqu’ici, ça ne me gênait pas trop, mais dans la future nouvelle version, j’aimerais bien un truc clean.

      Pour les options, je suis preneur, par contre, pour les titres des agrandissement, j’avais mis :

      1. define('_ALBUMS_TITRE_COURT','oui');

      Mais là, je peux mettre quoi ? Y-a-t-il une page de référence avec les options possibles ?
      En tout cas, un grand merci pour ton aide.
      Denis.

    Répondre à ce message

  • Le 4 juin 2017 à 10:32, par JeanLuc En réponse à : Albums 3

    Bonjour
    Tout d’abord merci pour ce plugin bien utile.
    J’ai un site en spip 3.1.4 avec le plugin Album3 installé. Tout fonctionne bien. Juste un détail un peu gênant.
    Quand on a un album volumineux (une cinquantaine de photos par ex.), une pagination apparait en bas de l’album (voir sur mon site). Pas de souci la-dessus.
    Et quand on clique sur une vignette de l’album, on visualise le document via une fenêtre Mediabox avec des flèches droite et gauche pour passer d’une image à l’autre. Nickel.
    Le pb : j’aimerais pouvoir visualiser l’ensemble de l’album dans la fenêtre Mediabox, pas seulement les images de la page... Dans l’exemple en lien, les 2 albums font une cinquantaine de photo, la pagination est de 20 en 20. Et dans la fenêtre Mediabox, on visualise pas plus de 20 photos à la fois, alors que j’aimerai qu’on fasse défiler la cinquantaine de photo dans la même fenêtre Mediabox.
    Est-ce possible ?
    Quel fichier modifier ?
    Merci pour votre aide

    • Le 5 juin 2017 à 12:05, par JeanLuc En réponse à : Albums 3

      Les albums ont été momentanément retirés de l’article cité ci dessus (raison personnelles pour ne pas donner d’indications à nos futurs adversaires...)
      Mais la question reste posée : comment visualiser l’ensemble d’un album volumineux paginé dans Mediabox...?
      Merci d’avance pour votre aide

    • Le 11 août 2017 à 09:51, par michel En réponse à : Albums 3

      Bonjour,
      J’ai la même limite de 20 vignettes et un problème supplémentaire (ayant 35 vignettes), je ne peux visualiser la deuxième page pour accéder aux 15 autres vignettes (le clic n’aboutit pas).

      • Est-il possible de paramétrer le nombre d’éléments par page ?
      • Comment accéder à la deuxième page ?
      • J’utilise également SPIP Cycle2 qui pourrait utiliser le paramètre « album », mais n’est pas utilisable avec cette limite...
      • Les 35 photos correspondent à l’exposition sur bâches présentées dans l’article : http://laccreteil.fr/spip.php?article132

      Vous souhaitant bonne réception.
      Michel

    • Le 11 août 2017 à 10:16, par michel En réponse à : Albums 3

      J’ai trouvé => « Pagination »qui permet de choisir le nombre d’éléments.
      Mais l’accès aux pages pose toujours problème.

    • Le 11 août 2017 à 17:24, par Michel En réponse à : Albums 3

      Bonjour,
      Savez-vous comment activer la Boîte multimédia « Mediabox » pour visualiser les images cliquées ( .mediabox ) ?
      Bonne soirée.
      Michel

    • Le 8 avril à 18:42, par JeanLuc En réponse à : Albums 3

      Bonjour
      Je me permets de relancer ma question concernant la visualisation des vignettes via mediabox quand on a une pagination.
      Il semble que la visualisation des images en grand dans mediabox ne regroupe que les vignettes affichées sur la page. Pour visualiser en gd les images des paginations suivantes, il faut afficher ces pages pour accéder à leurs agrandissements.
      Avez vous une solution à ce pb ?
      Merci d’avance...

    • Le 9 avril à 11:57, par tcharlss En réponse à : Albums 3

      Hello,

      Pour l’instant la mediabox ne prend en compte que les images présentes dans le HTML, et en cas de pagination il n’y en a forcément qu’une partie d’affichées, elle ne peut pas « deviner » celles des autres pas de pagination.
      Il y a peut-être des options à passer au script pour renseigner l’ensemble des images d’une galerie, il faut que je me penche sur la question.

    • Le 9 avril à 14:36, par JeanLuc En réponse à : Albums 3

      Bonjour
      Merci pour ta réponse
      Pour info, le pb a été évoqué sur le rezo : https://www.mail-archive.com/spip@rezo.net/msg69040.html mais mes compétences ne me permettent pas d’utiliser la solution évoquée...

    • Le 9 mai à 14:51, par JeanLuc En réponse à : Albums 3

      Bonjour
      J’ai retrouvé le doc proposé sur le rezo par Patrick (voir lien ci-dessus) avec une solution à ce pb de pagination (pour un portfolio mais c’est le même principe). Il fait en fait une suite de boucle dans une div invisible qui liste toutes les photos qui sont en dehors de la pagination. Du coup, toutes les images sont visibles dans la Mediabox puisque présentes sur la page.
      Voici le code qu’il propose (dans son cas, c’est pour un portfolio paginé, mais le pb est le même pour les albums) :

      1. [(#REM) Portfolio : album d'images ]
      2. <B_documents_portfolio>
      3. <div id="documents_portfolio">
      4.  
      5. <h1>Galerie de photos</h1>
      6.        
      7.   #ANCRE_PAGINATION
      8. <BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {mode=document}{extension IN png,jpg,gif} {par titre, date}{pagination 10}{doublons}{vu=non}>[
      9.   <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
      10.     |parametre_url{id_document,#ID_DOCUMENT}
      11.     )]#documents_portfolio';return false;"[ class="(#EXPOSER)"][ title="(#TITRE|attribut_html|couper{80})"]>
      12.         [(#FICHIER|image_reduire{190,190}
      13.         |image_recadre{100,100,center}
      14.         |image_aplatir{jpg,ffffff}
      15.         |inserer_attribut{class,spip_logos[ modulo(#COMPTEUR_BOUCLE|alterner{1,2,3,4,5})]})]</a>
      16.   ]
      17.   </BOUCLE_documents_portfolio>
      18. [<p class="pagination">Suite des documents ici: (#PAGINATION) </p>]
      19.  
      20. [(#REM) Sans la boucle qui suit, mediabox affiche uniquement les images
      21. de la première "page" de pagination et il faut la fermer,
      22. cliquer sur la "page 2" puis relancer mediabox. Cette boucle corrige cela.]
      23.  
      24. <div  style="display:none">
      25. <BOUCLE1_doc_caches(DOCUMENTS) {id_article}{mode=document}{extension IN png,jpg,gif} {par titre, date}{pagination 10}{doublons}{vu=non}>
      26. [<a href="(#URL_DOCUMENT)" type="#MIME_TYPE"[ title="(#TITRE|attribut_html|couper{80})"] ></a>]
      27. </BOUCLE1_doc_caches>
      28. <BOUCLE2_doc_caches(DOCUMENTS) {id_article}{mode=document}{extension IN png,jpg,gif} {par titre, date}{pagination 10}{doublons}{vu=non}>
      29. [<a href idem>]
      30. </BOUCLE2_doc_caches>
      31. <BOUCLE3_doc_caches(DOCUMENTS) {id_article}{mode=document}{extension IN png,jpg,gif} {par titre, date}{pagination 10}{doublons}{vu=non}>
      32. [<a href idem>]
      33. </BOUCLE3_doc_caches>
      34. ...
      35. et ainsi de suite avec autant de boucles qu'on veut
      36. ...
      37. </div>
      38. </div>
      39. </B_documents_portfolio>

      Télécharger

      Si cela peut aider ? L’idée serait peut-être de s’en inspirer pour modifier le modèle album.html...?
      Dites moi ce que vous en pensez...

    • Le 9 mai à 15:29, par JeanLuc En réponse à : Albums 3

      Je viens de tester et cela a l’air de bien fonctionner...
      J’ai surchargé le modèle album.html du plugin en ajoutant le paramètre {doublons} à la boucle existante documents_album (ligne 152).
      Puis j’ai ajouté une div invisible juste avant la fermeture de cette boucle (avant la ligne 180 :
      </B_documents_album>) soit :

      1. <div  style="display:none">
      2. <BOUCLE1_doc_caches(DOCUMENTS){id_document IN #GET{ids_documents}}{tout}{pagination #GET{pagination} #VAL{album}|concat{#ENV{id_album,x}}} {doublons}>
      3. [
      4.                 (#SET{titre_doc,      #TITRE|sinon{#FICHIER|basename}})][
      5.                 (#SET{titre_doc_long, #EVAL{_ALBUMS_TITRE_COURT}|?{#GET{titre_doc},#GET{titre_doc}|concat{' - ',#TYPE_DOCUMENT,' - ',#VAL{#TAILLE|taille_en_octets},#MEDIA|=={image}|?{#VAL{' - '}|concat{#LARGEUR,'&times;',#HAUTEUR,' px'}}}}})][
      6.                 (#SET{ratio,          #GET{recadrer}|?{#VAL{/\[-:\/\]/}|preg_split{#ENV*{ratio,1}}}})][
      7.                 (#SET{ratio,          #GET{ratio}|count|>{1}|?{#GET{ratio/1}|div{#GET{ratio/0}},#GET{ratio/0}}|floatval})][
      8.                 (#SET{ratio,          #GET{ratio}|sinon{#LARGEUR|div{#HAUTEUR}}|floatval})][
      9.                 (#SET{largeur,        #ENV{largeur}|sinon{#ENV{hauteur}|div{#GET{ratio}}}|sinon{#GET{taille_preview}}|intval})][
      10.                 (#SET{hauteur,        #ENV{hauteur,#GET{largeur}|mult{#GET{ratio}}}|intval})][
      11.                 (#SET{extension,      #EXTENSION|sinon{#FICHIER|pathinfo|table_valeur{extension}}})][
      12.                 (#SET{media_defaut,   #VAL{media_defaut}|sql_getfetsel{'spip_types_documents',#VAL{extension=}|concat{#GET{extension}|sql_quote}}})][
      13.                 (#SET{media,          #MEDIA|in_array{#LISTE{image,audio,video,file,document}}|?{#MEDIA,#GET{media_defaut}}})][
      14.                 (#SET{src,            #GET{media}|=={image}|?{
      15.                                         #GET{recadrer}|?{
      16.                                           #FICHIER|image_passe_partout{#GET{largeur},#GET{hauteur}}|image_recadre{#GET{largeur},#GET{hauteur},center},
      17.                                           #FICHIER|image_reduire{#GET{largeur},#GET{hauteur}}},
      18.                                         #LOGO_DOCUMENT{#FICHIER}}
      19.                                       |extraire_attribut{src}})]
      20.                 <li[ (#PLUGIN{bootstrap}|oui)class='span4']>
      21.                         <a href="#FICHIER" type="#MIME_TYPE" rel="album#ID_ALBUM" class="[(#EXTENSION)][ (#PLUGIN{foundation}|oui)th][ (#PLUGIN{bootstrap}|oui)thumbnail]" title="[(#GET{titre_doc_long}|attribut_html)]" role="button" aria-label="Vignette">
      22.                                 [(#GET{src}|balise_img{#GET{titre_doc_long},vignette}|inserer_attribut{aria-hidden,true})]
      23.                         </a>[
      24.                         (#ENV{label}|oui)[<span class="label">(#GET{titre_doc})</span>]]
      25.                 </li>
      26. </BOUCLE1_doc_caches>
      27. </div>

      Télécharger

      Je n’ai pour l’instant ajouté qu’une seule boucle dans cette div mais on pourra en ajouter autant qu’on veut selon l’importance des albums à traiter.
      On peut sans doute alléger les ligne dans cette boucle puisu’on n’a pas besoin de tout cela juste pour charger la photo de manière invisible sur la page.
      Dites moi ce que vous en pensez ?
      merci d’avance pour votre aide.

    • Le 10 mai à 18:50, par JeanLuc En réponse à : Albums 3

      J’ai amélioré la surcharge à effectuer sur le modèle du plugin « album.html » en générant automatiquement le nombre de boucles nécessaires selon le ratio docs de l’album/pagination.
      On récupère ce nombre de boucles en divisant la qté de docs de l’album par la pagination. Résultat arrondi à l’unité supérieure :
      #SET{nbre_de_boucles, #GRAND_TOTAL|div{#GET{pagination}}|ceil }.
      Voilà ce que ça donne, toujours inséré avant la ligne 180 </B_documents_album> :

      1. <div  style="display:none">
      2.    #SET{nbre_de_boucles, #GRAND_TOTAL|div{#GET{pagination}}|ceil }
      3.    <BOUCLE_nbre_de_boucles (CONDITION) {si #GET{nbre_de_boucles}|>{1}} {0,#GET{nbre_de_boucles}} >
      4.       <BOUCLE_doc_caches (DOCUMENTS) {id_document IN #GET{ids_documents}} {tout} {pagination #GET{pagination}  #VAL{album}|concat{#ENV{id_album,x}}} {doublons}>
      5.          Lignes de récupération des docs
      6.       </BOUCLE_doc_caches>
      7.    </BOUCLE_nbre_de_boucles>
      8. </div>

      Télécharger

      La variable « nbre_de_boucles » va me servir dans une boucle CONDITION pour créer les boucles de recherche des docs qui ne sont pas dans la pagination...
      La boucle CONDITION ne se déclenche que si la variable « nbre_de_boucles » est supérieure à 1 (donc s’il y a une pagination)
      {si #GET{nbre_de_boucles}|>{1}}.
      Dites moi ce que vous en pensez ?

    • Le 11 mai à 15:52, par JeanLuc En réponse à : Albums 3

      Bonjour Tcharlss
      J’en termine avec les dernières mises au point :
      il ne faut pas passer de critère de pagination à la boucle qui permet de récupérer les images hors pagination (BOUCLE_doc_caches). Avec le critère doublons, la boucle va récupérer simplement l’ensemble des images manquantes sur la page et les mettre dans la div invisible.
      Voici le code corrigé :

      1. <div  style="display:none">
      2. #SET{nbre_de_boucles, #GRAND_TOTAL|div{#GET{pagination}}|ceil }
      3. <BOUCLE_nbre_de_boucles(CONDITION) {si #GET{nbre_de_boucles}|>{1}} {0,1} >
      4.         <BOUCLE_doc_caches(DOCUMENTS){id_document IN #GET{ids_documents}}{tout} {doublons}>[
      5.             code d'affichage des images (la même chose que dans la boucle existante "documents_album" ligne 152)
      6.         </BOUCLE_doc_caches>   
      7. </BOUCLE_nbre_de_boucles>
      8. </div>

      Télécharger

      Peux-tu me dire ce que tu en penses stp ?

    • Le 20 mai à 09:56, par JeanLuc En réponse à : Albums 3

      Bonjour
      Voici pour finir le résumé de la surcharge à effectuer sur le modèle du plugin « album.html » pour pouvoir visualiser dans Mediabox l’ensemble des images d’un Album paginé :
      -  Ajouter le critère {doublons} à la boucle existante documents_album (ligne 152).
      -  Ajouter ces lignes de code juste avant la fermeture de cette boucle (avant la ligne 180 </B_documents_album>) soit :

      1.     <div  style="display:none">
      2.     #SET{nbre_de_boucles, #GRAND_TOTAL|div{#GET{pagination}}|ceil }
      3.     <BOUCLE_nbre_de_boucles(CONDITION) {si #GET{nbre_de_boucles}|>{1}} {0,1} >
      4.             <BOUCLE_doc_caches(DOCUMENTS){id_document IN #GET{ids_documents}}{tout} {doublons}>
      5.                 [#FICHIER]
      6.             </BOUCLE_doc_caches>  
      7.     </BOUCLE_nbre_de_boucles>
      8.     </div>

      Télécharger

      tcharlss, peux-tu me dire ce que tu en penses ?
      Chez moi (Spip 3.1.3) cela fonctionne bien mais peut être y a-t-il des améliorations/modifications à apporter ?
      Merci d’avance pour ta réponse...

    • Le 22 mai à 16:09, par tcharlss En réponse à : Albums 3

      Salut JeanLuc et merci pour la contribution.

      À vue de nez, ça me semble pénalisant de sortir tous les documents dans le HTML juste pour la mediabox. Si tu as un album de 300 images avec une pagination de 20, ça ferait 280 images cachées... Bon c’est un exemple tiré par les cheveux, mais je ne suis pas fan des contenus cachés dans le HTML.

      Il doit y avoir une façon de faire ça programmatiquement en pilotant la mediabox.

    • Le 31 mai à 13:39, par JeanLuc En réponse à : Albums 3

      Salut tcharlss
      Je vais tenter de laisser un message à Cerdic sur la page Mediabox de Spip-Contrib...
      A+

    • Le 31 mai à 13:53, par JeanLuc En réponse à : Albums 3

      Voir ma demande sur la page de Mediabox : https://contrib.spip.net/MediaBox#forum497131

    Répondre à ce message

  • Le 22 mai à 18:50, par DD En réponse à : Albums 3

    Dans le modele par defaut album ;html il y a
    « [(#GETposition_legende|==bottom|oui)[(#GETcaption)]] »

    qui affiche le titre de l’album en dessous de celui-ci.

    Pour plus de lisibilité je voudrais l’afficher au-dessus de l’album mais lorsque je change le modèle en :
    « [(#GETposition_legende|==top|oui)[(#GETcaption)]] »

    Il n’y a plus du tout de titre affiché.

    Comment faire ? Merci

    • Le 22 mai à 19:06, par tcharlss En réponse à : Albums 3

      Si c’est pour tous les albums, dans mes_options.php :

      1. define('_ALBUMS_POSITION_LEGENDE', 'bottom')

      Si c’est au cas par cas, il suffit de passer le paramètre au modèle.

    • Le 23 mai à 11:15, par DD En réponse à : Albums 3

      Le

      1.     define('_ALBUMS_POSITION_LEGENDE', 'top')

      pour insérer le titre de l’album au-dessus ne fonctionne pas.

    • Le 23 mai à 11:36, par tcharlss En réponse à : Albums 3

      Ah oui pardon, c’est :

      1. define('_ALBUMS_POSITION_LEGENDE_VIGNETTES', 'top');
    • Le 23 mai à 18:12, par DD En réponse à : Albums 3

      Nickel merci !

    Répondre à ce message

  • Le 5 mars à 11:46, par Sandrine En réponse à : Albums 3

    Bonjour,

    Le fichier inclure/documents.html du plugin appelle les documents joints « classiques » via l’inclure suivant :

    1. <INCLURE{fond=squelettes-dist/inclure/documents, env}>

    Y a-t-il une raison de forcer à prendre le fichier dans le répertoire -dist ?

    Bonne journée !
    Sandrine

    • Le 6 mars à 22:18, par tcharlss En réponse à : Albums 3

      Hello,

      L’idée c’était de compléter la liste des documents-joints des squelettes de la dist avec la liste des albums, sans avoir à tout surcharger. Avec le recul je ne suis pas sûr que ce soit une bonne idée.
      Tu as un cas où ça pose problème ?

    • Le 7 mars à 11:15, par Sandrine En réponse à : Albums 3

      Hello Tcharlss

      J’ai constaté le souci en testant le squelette HTML5_solid_state. Je n’ai pas d’exemple en ligne : je ne l’ai testé qu’en local.

      Grosso modo, pas de souci quand on surcharge inclure/documents.html dans le dossier squelettes, en revanche, ça pose problème quand on surcharge ce même fichier via un plugin.

      Dans le cas d’un plugin de squelettes comme HTML5_solid_state, la surcharge consiste notamment en l’ajout de classes spécifiques au jeu de squelettes utilisé, afin de gérer entre autre l’habillage graphique du portfolio.

      Bonne journée !
      Sandrine

    Répondre à ce message

  • Le 20 février à 23:43, par Thomas En réponse à : Albums 3

    Bonjour,

    Après une migration par FTP, tout les liens des albums sont cassés, et donc toutes les images sont en 404.
    Savez vous comment je peux résoudre le problème svp ?

    • Le 21 février à 00:17, par Maïeul En réponse à : Albums 3

      Peux tu décrire précisement comment tu a migré.

      Normalement on migre la BDD + les fichiers. Et album étant codé proprement, il ne devrait pas y avoir de lien cassé, car on album se réfère aux objetdocuments SPIP, pas aux URLS. Bref, je pense que tu a un souci ailleurs, mais là ce n’est pas hyper clair

    • Le 21 février à 00:41, par Thomas En réponse à : Albums 3

      Bonjour,

      J’ai effectué la migration exactement de cette façon : la DB, les fichiers, modification du connect.php
      Je connais assez peu SPIP, y aurait-il quelque chose de plus à faire ?

      Pour les images, je vois que dans le dossier IMG/jpg, elles sont de type xxxxxxx.jpg, or les url appelés sont de type r_nomdelarticle_-_xxxxxxx.jpg, d’ou ma conclusion de liens cassés, mais il est fort possible que cela vienne d’autre part.

      Aurais-tu d’autres pistes a explorer approfondir ?

      Dans tout les cas, merci de ton aide

    • Le 21 février à 05:59, par tcharlss En réponse à : Albums 3

      Hello,

      À priori comme le dit Maïeul ce n’est pas spécifique aux albums, il vaut mieux investiguer directement dans la médiathèque (?exec=documents).
      Les images manquantes sont signalées avec cette icône :

      les url appelés sont de type r_nomdelarticle_-_xxxxxxx.jpg

      C’était pareil avant la migration ? Il n’y a pas de raison que le nom du fichier soit modifié en principe.
      Comment tu récupères cette info ? Quand un document est manquant, la vraie URL est visible en cliquant sur modifier, puis section aperçu.

    • Le 21 février à 08:58, par Thomas En réponse à : Albums 3

      Bonjour,
      Il semble que oui, c’était pareil avant la migration. Malheureusement je n’ai aucun moyen de vérifier, je n’ai plus qu’accès au ftp, apache étant désactivé et je n’ai pas la main dessus.

      Dans le front d’un article par exemple, j’ai la liste des images plutot que les images :
      IMG/jpg/r_tromobile_2018_-_artcurial_-_p1020160-s.jpg
      IMG/jpg/r_tromobile_2018_-_artcurial_-_p1020162-s.jpg
      IMG/jpg/r_tromobile_2018_-_artcurial_-_p1020173-s.jpg
      IMG/jpg/r_tromobile_2018_-_artcurial_-_p1020175-s.jpg

      Quand que je clique dessus, j’ai une lightbox qui pop avec : « This image failed to load. »

      Coté back, j’ai plus ou moins la même chose (cf capture)
      et lorce que je vais dans modifier, j’ai toujours la même URL (../IMG/jpg/r_tromobile_2018_-_artcurial_-_p1020160-s.jpg) qui donne toujours un 404

      Enfin, quand je vais dans la médiathèque et recherche toujours le même fichier, j’ai bel et bien l’icone du fichier manquant.

      Ce que je comprends vraiment pas, c’est que niveau fichier, les deux serveurs sont exactement identique, alors que ce comportement n’était pas présent du tout avant la migration.

    • Le 21 février à 09:19, par tcharlss En réponse à : Albums 3

      Mais ces images existent bien, tu as vérifié dans le FTP ?

    • Le 21 février à 09:57, par Thomas En réponse à : Albums 3

      Non, les images n’existent pas sur le disque (nouveau ET ancien serveur). Ou en tout cas pas sous ce path/name.

      Pourtant avant la migration, les images étaient bien présentes dans le front.

    Répondre à ce message

  • Le 3 décembre 2017 à 11:07, par JeanLuc En réponse à : Albums 3

    Bonjour à tous
    Voilà mon pb :
    J’aimerais afficher sur une page les 3 derniers albums publiés dans une rubrique et ses sous-rubriques...
    Mais comme on ne peut pas utiliser le critère « id_secteur » avec la boucle ALBUMS, je suis un peu bloqué...
    Si quelqu’un a déjà eu se pb à résoudre...
    Merci d’avance pour votre aide.

    • Le 9 décembre 2017 à 12:19, par JeanLuc En réponse à : Albums 3

      Bonjour à tous
      Je me réponds à moi-même pour la solution à mon pb, pour ceux que cela pourrait intéresser...
      Il faut utiliser un tableau qui va stocker les articles du secteur.
      Ensuite piocher dans ce tableau pour trouver les articles liés à un album :

      1. <!--on définit un tableau-->
      2. #SET{articles_secteur_XX,#ARRAY}
      3.  
      4. <!--on met dans ce tableau les articles du secteur XX classés par date--><BOUCLE_articles_secteur_XX(ARTICLES){id_secteur=XX} {par date} {inverse}>
      5.         #SET{articles_secteur_XX,#GET{articles_secteur_XX}|push{#ID_ARTICLE}}
      6. </BOUCLE_articles_secteur_XX>
      7.  
      8. <!--une boucle récupère les articles du tableau liés à un album-->
      9. <BOUCLE_albums(ALBUMS){0,1}{id_article IN #GET{articles_secteur_XX}}>
      10.         code pour afficher les albums
      11. </BOUCLE_albums>

      Télécharger

    Répondre à ce message

  • Le 28 novembre 2017 à 11:48, par Julien En réponse à : Albums 3

    Bonjour,
    j’ai un souci avec le changement de langue avec ce plugin. J’utilise les balises <multi>.

    Lorsque je change de langue dans la partie publique, mes albums ne s’affichent pas. Ils sont pourtant présent dans le multi du champ texte.

    Merci pour votre aide !

    • Le 28 novembre 2017 à 16:24, par Julien En réponse à : Albums 3

      En creusant un peu, je me suis rendu compte que certains filtres ne marchaient pas dans un modèle d’album quand on change de langue. Par exemple |unique ne fonctionne pas. Ou alors je fais faux quelque chose :/

    Répondre à ce message

  • Le 14 novembre 2017 à 12:48, par Hervé En réponse à : Albums 3

    Bonjour,

    je viens de faire la mise à jour du plugin de la version 1.1.0 vers 3.5.4.

    J’ai beaucoup d’erreur côté public et back-office du type :
    Erreur SQL 1146
    Table ’monsite.spip_albums’ doesn’t exist

    Comment puis-je le corriger ?

    Merci,
    Hervé

    • Le 16 novembre 2017 à 01:08, par tcharlss En réponse à : Albums 3

      Bonjour,

      Bizarre. Il n’y avait pas de tables dans la v1 et pour une raison ou une autre la fonction d’installation ne semble pas avoir été appelée. Il faudra que je teste chez moi la migration v1 => v3 pour voir.

      En attendant, si tu n’as pas encore créé d’album, tu peux désinstaller puis réinstaller le plugin, ça devrait régler le souci.

    Répondre à ce message

  • Le 15 novembre 2017 à 13:29, par ydikoi En réponse à : Albums 3

    Bonjour tcharlss, et d’abord merci pour ce plugin, génial !

    C’est moi qui n’ait pas les yeux en face des trous et les doigts agiles, ou l’organisation des documents au sein d’un album, et leur affichage public par la suite, ne supporte pas le critère {par rang_lien} ?

    (j’ai essayé de modifier le modèle par défaut, que j’utilise, mais sans succès - je suis sous spip3.2 btw)

    • Le 15 novembre 2017 à 14:04, par tcharlss En réponse à : Albums 3

      Salut et merci !
      Tu as vu juste, il n’y a pas encore la prise en charge d’ordre des documents. Il faut absolument que je m’occupe de cette version pour SPIP 3.2 depuis le temps que j’en parle...

    Répondre à ce message

  • Le 18 octobre 2017 à 11:37, par stefdn En réponse à : Albums 3

    Bonjour,

    La version proposée en téléchargement est la 3.5.1 qui « n’est pas compatible » SPIP 3.2 mais apparemment la dernière version 3.5.3 (Revision 106863 : _plugins_/albums/trunk/paquet.xml) est compatible

    Je ne vois aucune mise à jour dispo dans la Gestion des plugins ...normal ?

    • Le 18 octobre 2017 à 11:52, par Maïeul En réponse à : Albums 3

      Pour une fois le zip ne suivait pas le trunk, mais un tag. D’où le blocage.

      Le nouveau zip sur le trunk devrait être disponible prochainement.

      @tcharlss : je me suis permis de rebrancher sur le trunk, cf mon message en https://zone.spip.org/trac/spip-zone/changeset/107017

    • Le 18 octobre 2017 à 13:14, par stefdn En réponse à : Albums 3

      merci !

    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

  • Passer un site SPIP sous https://

    23 février 2017 – 38 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • cipr : plugin « Prévisualisation étendue »

    22 septembre 2010 – 40 commentaires

    Ce plugin "cipr : Prévisualisation étendue" permet de naviguer sur le site en prévisualisation, entre articles et rubriques, sur la page d’accueil, etc. Ce plugin de prévisualisation étendue permet de : naviguer en prévisualisation entre articles et (...)

  • À propos des plugins actifs

    13 novembre 2010 – 25 commentaires

    À propos des plugins actifs affiche dans la partie publique de votre site la version de SPIP utilisée et la liste des Plugins activés avec affichage de l’icône, le nom, la version, l’état et une introduction de sa fonction. Si le Plugin n’a pas (...)

  • ScolaSPIP 4

    19 janvier 2016 – 362 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 23 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)