Ma motivation
Souvent les viewers de galerie sont figées par le webmaster. Dans le cadre d’un site web pour mon club photo, j’ai voulu laissé le choix du viewer au rédacteur de l’article. Aussi je souhaitais des balises utilisables soit dans les squelettes, soit dans la rédaction de l’article.
Dans le cadre de la rédaction d’un article, je trouvé utile également de pouvoir placer une ou plusieurs galeries, par exemple une en haut avec les photos avant traitement puis un descriptif du travail d’élaboration et à la fin les images finales.
J’avais trouvé sur des viewers flash libres qui me plaisaient beaucoup, aussi j’ai cherché une solution pour les intégrer dans SPIP. J’ai d’abord trouvé le plugin PostCardViewer, pourquoi ne pas avoir simplement utilisé ce plugin PCV, déjà ma préférence se portait sur le viewer SimpleViewer, son fonctionnement est limité à afficher tous les documents d’un article.
Comment ça marche
En observant ces viewer Flash, je me suis aperçu qu’ils utilisaient souvent un fichier de description XML de la galerie. Il est facile à SPIP de générer ce fichier interface.
Par exemple, dans un article XX, je veux :
- Déclarer une nouvelle galerie nommée ’nomgalerie’ :
- dans l’article :
<MULTIVIEWERXX|NEW|nom=nomgalerie>
- dans le squellette :
#MULTIVIEWER{NEW,nomgalerie}
- Ajouter le document 26 dans la galerie ’nomgalerie’ :
- dans l’article :
<MULTIVIEWERXX|ADD|nom=nomgalerie|doc=26>
- dans le squellette :
#MULTIVIEWERXX{ADD,nomgalerie,26}
- Afficher la galerie ’nomgalerie’ :
- dans l’article :
<MULTIVIEWERXX|VOIR|nom=nomgalerie>
- dans le squellette :
#MULTIVIEWERXX{VOIR,nomgalerie}
- Choisir le viewer de la galerie ’nomgalerie’ :
- dans l’article :
<MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=postcard>
- dans le squellette :
#MULTIVIEWERXX{PARAM,nomgalerie,viewer=postcard}
autres paramètres de viewer (livré avec le plugin de base) :
-
<MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=autoviewer>
(sympa pour une page d’accueil, un bandeau)
-
<MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=simpleviewer>
(Celui que j’utilise le plus, la galerie d’image sur le côté, en dessous, ou... et la grande image sur le côté, classique et efficace.)
-
<MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=postcard>
(un peu fun, on clique ça s’agrandit, on clique le voisin, il arrive)
-
<MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=tiltviewer>
(Le plus délire des 4, un peu comme Postcard mais en plus ça bouge en 3D)
Autres balises : ## NOUVEAU ##
- Ajout de tous les documents par une balise unique
#MULTIVIEWER
ou#MULTIVIEWER{ALL}
Ce qui donne dans un article : <MULTIVIEWER>
ou <MULTIVIEWER|ALL>
ou plus pour spécifier le viewer : <MULTIVIEWER|ALL|TYPEGALERIE=postcardviewer>
- Ajout de tous les documents d’une rubrique ou d’un article :
#MULTIVIEWER{ADD,nomgalerie,-1}
Ce qui donne dans un article :<MULTIVIEWER|ADD|nom=nomgalerie|doc=-1>
Un exemple de squelette :
Exemple : Les 4 viewers sur une page, ils sont paramétrés petits pour que ça passe dans la page. L’esthétique a été oublié pour montrer la faisabilité technique.
Des modules d’extension
Il vous sera facile d’ajouter vos propres viewers flash. Pour cela il suffit de :
- Dupliquer un des fichier addon-monviewer.php et de l’adapter à votre viewer.
- Le déclarer dans le fichier : modules_liste.php
- Dupliquer un des fichier MVW_DEFINITION-monviewer.php et d’y déclarer les variables de paramétrage de votre viewer (répertoriées en fonction de où on les ajotue : JS, XML, HTML...)
Soit : A vous de jouer en ajoutantles votres dans le dossier /modules/
Le kit de départ - liste des viewers
Les viewers livrés avec le plugin sont ceux de Felix Turner, www.airtightinteractive.com
Ces versions sont libres (mais avec un lien vers son site), des versions débridés et anonymes sont dispos mais moyennant quelques dollars.
Evolutions très prochaines
Voir une galerie de tous les documents image : (pas encore dispo dans la v1.0)
- dans l’article : <MULTIVIEWERXX|ALL>
- dans le squellette : #MULTIVIEWERALL
et même plus simplement : - dans l’article :
- dans le squellette : #MULTIVIEWER
Un exemple : Rédaction d’un article
Premier exemple du plugin MULTI VIEWER :
- On initialise un viewer : <MULTIVIEWER8|NOUVEAU>
- on choisi le viewer et des paramètres : <MULTIVIEWER8|PARAM|typegalerie=autoviewer>
<MULTIVIEWER8|PARAM|largeur=550>
<MULTIVIEWER8|PARAM|hauteur=450>
- on ajoute une image <MULTIVIEWER8|AJOUTERDOC|doc=2>
- on ajoute une autre image <MULTIVIEWER8|AJOUTERDOC|doc=3>
- on affiche le viewer : <MULTIVIEWER8|VOIR>
{{{La suite de l'article}}}
Puis d'autres images en illustration,....
<MULTIVIEWER8|NOUVEAU|nom=toto>
<MULTIVIEWER8|PARAM|nom=toto|typegalerie=postcard>
<MULTIVIEWER8|PARAM|nom=toto|largeur=350>
<MULTIVIEWER8|PARAM|nom=toto|hauteur=350>
<MULTIVIEWER8|AJOUTERDOC|nom=toto|doc=2>
<MULTIVIEWER8|AJOUTERDOC|nom=toto|doc=3>
- on affiche le nouveau viewer :
<MULTIVIEWER8|VOIR|nom=toto>
Ce qui nous donne :
- En haut : une galerie avec AutoViewer
- En bas : une galerie avec PostCardViewer
Pour le Webmaster
Dans le fichier MULTIVIEWER_OPTIONS.PHP, il est possible de définir la taille par défaut et la taille maxi autorisée pour les viewer : Dans le cas d’un rédacteur un peu mégalo ;-) .
Les balises acceptent les autres balises comme argument :
[(#MULTIVIEWER{ADD,[(#ENV{nom}|sinon{#ID_ARTICLE})],#ENV{doc}})]
Exemple issu du modèle MULTIVIEWER_ADD.HTML : prend l’Id de l’article si le nom de la galerie n’est pas défini.
Code - Développement
J’ai essayé de respecter les fonctions dédiées à la V2 de SPIP :
- requêtes SQL : utilisation de
sql_select(), sql_fetch ()
- utilisation de
interprete_argument_balise($i,$p)
pour récupérer les arguments. Cette méthode permet de calculer les valeur si on récupère une balise comme :[(#MULTIVIEWER{NEW,[(#ENV{nom}|sinon{#ID_ARTICLE})]})]
sinon on récupère la balise sous forme de chaine. - pour les dossiers :
_DIR_PLUGIN_MULTIVIEWER
qui retouren le dossier du plugin et s’adapte en fonction de l’espace privé ou public. - je teste l’existence des fichiers avant de les charger, et je vérifie l’existence des fonctions des modules à charger.
Télécharger
Version 1.0.3 - Stable -
Version en développement
On y trouve notamment une page dans l’interface privée qui liste tous les viewer disponibles et les variables de paramétrage.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |