Carnet Wiki

Albums v2 DEV

Version 4 — August 2012 tcharlss

ALBUMS V2 EST ENCORE EN DÉVELOPPEMENT !

Cette page fait office de documentation provisoire en attendant la publication de l’article adéquat.

Tester le plugin

Les mise en garde d’usage s’appliquent : il est déconseillé d’installer cette version de développement sur un site en production, il peut rester quelques bugs et certaines options manquent ou sont susceptibles de changer.
Les rapports de bug, idées et contributions sont les bienvenus.

Des albums ?

Les albums sont des objets éditoriaux que l’ont peut lier à n’importe quel autre objet, et auxquels on peut lier des documents.
Concrètement, ils servent à accueillir vos documents, que vous pouvez sélectionner, grouper et arranger comme bon vous semble. On peut ensuite les insérer au fil du texte, dans vos articles ou tout autre objet, ou les appeler dans vos squelettes indépendamment du contexte.

Un portfolio… des albums !

Mise en route rapide

Une fois le plugin téléchargé et installé, rendez-vous dans la page de configuration pour définir sur quels objets associer les albums. Veillez également à vérifier que l’ajout de documents sur les albums est activé (page ’contenu du site’), ce qui doit normalement être le cas par défaut.

On peut créer un nouvel album soit par la barre d’ajout rapide, ou en se rendant directement sur un objet sur lequel l’ajout d’album est activé.
On peut y créer un nouvel album (sans quitter la page), ou bien choisir un album existant.

ajouter un album sur un objet
Ajouter un album : onglets créer et associer
On peut créer un nouvel album ou en associer un existant sans quitter la page de l’objet

Dans le cas d’une création, une fois l’album enregistré, il ne reste plus qu’à lui ajouter des documents.

Après création d’un album, ajouter des documents
Un album qui vient d’être créé dans la page d’un objet est ’déplié, il reste à ajouter des documents.

Les albums sont ’dépliables’, un clic sur le bloc permet de voir et éditer les documents.

Un bloc dépliable
Un clic sur le bloc permet de le déplier et de gérer ses documents

Enfin, on peut inclure n’importe quel album (qu’il soit déjà lié à l’objet ou non) dans le texte au moyen de la balise

<albumXX>

ou

<albumXX|liste>
Album inséré dans le texte
Même album inséré 2 fois dans le texte, en mode ’aperçu’ et en mode ’liste’

Il y a pour l’instant 2 type de vues : vue en mode ’aperçu’ ou en mode ’liste’.Elles insèrent 2 modèles

Des modèles

Chaque plugin proposant une interaction avec les documents peut proposer son propre modèle album. Le plugin nivoslider dispose d’une ébauche de modèle <albumXX|nivoslider>.
Un plugin ’albumorama’ proposant plusieurs modèles de diaporamas et galeries jquery pour les albums est en cours.

Par la suite, on peut également imaginer des playlists pour fichiers audio ou vidéos : <albumXX|dewplayer>.

Des boucles

On dispose d’une boucle...
<BOUCLE_albums(ALBUMS){id_album=xx}{orphelin?}>
...et des critères suivants :
#TITRE, #DESCRIPTIF, #ID_ALBUM

La boucle ALBUMS accepte un critère {orphelin} qui sélectionne les albums sans lien vers un autre objet éditorial.

Un autre critère {contenu} est à faire, afin de pouvoir sélectionner les albums en fonction de leur type contenu.
ex :

  • {contenu = video} -> albums avec des vidéos
  • {contenu IN #ARRAY{audio,video}} -> albums avec audio OU video
  • {contenu} -> albums non vides
  • {!contenu} -> albums vides

Pour palier à ce manque, on peut faire des sélections d’ids, en utilisant le critère {id_album IN #GET{selection}} dans la boucle.

-* Sélectionner les albums vides :

[(#REM) SELECTION D'IDS : tous les albums ]
#SET{tous,#ARRAY}
<BOUCLE_id_tous(ALBUMS){tout}>
#SET{tous,#GET{tous}|push{#ID_ALBUM}}
</BOUCLE_id_tous>


[(#REM) SELECTION D'IDS : albums vides ]
#SET{selection,#GET{tous}}
<BOUCLE_id_vides(spip_documents_liens){objet=album}{tout}>
[(#SET{selection, #GET{selection}|table_retirer_valeur{#ID_OBJET}})]
</BOUCLE_id_vides>

-* Sélectionner les albums en fonction des médias contenus :

[(#REM) SELECTION D'IDS : selon les contenus ]
#SET{selection,#ARRAY}
#SET{media, file|audio}
<BOUCLE_id_contenus(spip_documents_liens spip_documents albums){media IN #GET{media}|explode{'|'}}{objet = album}{tout}>
[(#GET{selection}|find{#ID_OBJET}|non) #SET{selection,#GET{selection}|push{#ID_OBJET}} ]
</BOUCLE_id_contenus>