La galerie SPIP, pour réutiliser facilement les images et documents
Une fonctionnalité intéressante de SPIP, si elle est bien exploitée, est de pouvoir utiliser tout document (ou image) attaché à un article ou une rubrique dans n’importe quel autre élément. Il est ainsi possible de gagner de l’espace disque en évitant les doublons.
Le problème est qu’il faut pour cela connaître l’identifiant du document en question, ce qui peut s’avérer pénible quand on se souvient l’avoir déjà utilisé, mais sans savoir où.
Heureusement, voilà une galerie qui va simplifier la procédure !
L’idée est tout simplement d’ajouter dans la barre d’aide à la saisie un bouton qui lance dans une autre fenêtre une galerie de tous les documents déjà présents dans SPIP.
Depuis cette fenêtre, il est alors possible de se déplacer dans l’arborescence des rubriques et articles du site, et ainsi de visualiser tous les documents qui leurs sont attachés.
Une fois le bon document retrouvé, des liens permettent d’ajouter simplement le bon raccourci typographique à la zone de saisie qui était active.
Démonstration en images
1 - Ouvrez la galerie
Tout d’abord, cliquez sur le nouveau bouton de la barre d’aide à la saisie des raccourcis typographiques :
2 - Naviguez dans l’arborescence
Déplacez-vous dans l’arborescence du site pour y retrouver le document ou l’image qui vous intéresse :
3 - Visualisez l’élément et ses liens d’ajout
Une fois le bon élément retrouvé, cliquez sur le lien correspondant à l’affichahe souhaité :
4 - Continuez à travailler normalement
Après avoir cliqué sur l’un des liens, le code correspondant est ajouté à la zone de saisie et la galerie est refermée :
Installation
Tout d’abord, téléchargez cette archive :
Elle contient les quatre fichiers suivants :
-
galerie.php3
est le script qui affiche la galerie, il est à placer dans le répertoireecrire/
-
galerie.png
est une nouvelle icône pour la barre, elle est à placer dans le répertoireIMG/icones_barre/
, et elle pourra être avantageusement remplacée par une autre plus jolie
-
inc_barre.php3
est une version modifiée de la version fournie avec SPIP 1.7.2. La seule différence est l’ajout des lignes 69 à 72 suivantes :- // Galerie
- if (!$forum) {
- $ret .= bouton_barre_racc ("javascript:barre_galerie('$champ')",
- 'galerie.png', 'Ouvrir la galerie', $formulaire, $texte);
- }
-
spip_barre.js
est une version modifiée de la version fournie avec SPIP 1.7.2. La seule différence est l’ajout des lignes 89 à 91 de la fonctionbarre_galerie()
:- function barre_galerie(champ) {
- window.open('galerie.php3?field=' + champ, 'galerie',
- 'width=550,height=400,menubar=no,scrollbars=yes')
- }
P.-S.
Cette galerie a également été testée avec succès avec la version 1.8 alpha 1 CVS du 7 juin 2004.
Vos commentaires
1. Le 30 janvier 2005 à 18:14, par gerard En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Bonsoir
je trouve cette fonction tres intéressante effectivement. Bravo pour ce travail.
J’ai implementé cette fonction sur notre Site mais je rencontre un petit problème.Apres le lancement de la fonction par un clic sur l’icone voilà ce que j’obtiens :
Fatal error : Call to unsupported or undefined function sous_arborescence() in
......./ecrire/galerie.php3 on line 15
je dois faire une erreur, mais ....
Peut être une aide !
@+
gerard
2. Le 25 février 2005 à 22:35, par Nicolas Hoizey En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
La fonction
sous_arborescence()
est pourtant bien dans le script fourni, je ne vois vraiment pas ce qui peut causer cette erreur, désolé ...3. Le 9 juin 2005 à 12:56, par Bou1024 En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Bonjour,
J’ai un problème pour faire fonctionner votre galerie... Lorsque je clique sur Galerie quand je rédige un article, un pop-up s’affiche avec ca :
Galerie de documents
’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showDocs() ; function hideAll() hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideDocs() ; function showNice() hideAll() ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showDocs() ; function showDocs() showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; function hideDocs() hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; —>
Puis il affiche la liste des rubriques. Et quand je clique sur droite, centré ou gauche rien ne se passe....
4. Le 15 juin 2005 à 15:53, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
J’ai eu le meme probleme que ci-dessus apres l’installation de la "gallerie SPIP".
J’ai trifouille dans le code PHP du fichier « gallerie.php3 » pour chercher cette erreur.
J’ai pu facilement identifier l’erreur ! Tout fonctionne parfaitement sur un site SPIP (qui est en construction).
Pour obtenir ce fichier corrigé merci de m’ecrire un mail en citant : “ fichier gallerie.php3 pour la Gallerie SPIP ”.
J’espere vous etre utile. :)
5. Le 21 juin 2005 à 09:09, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Desole j’ai oublie de preciser mon adresse mail pour obtenir le fichier corrige : j.gaujard [at] laposte [dot] net
6. Le 6 décembre 2005 à 13:45, par Jacques PYRAT En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents
Est-ce que tu en a fait une version compatible SPIP 1.8.2e ?
Merci.
7. Le 6 décembre 2005 à 14:10, par Nicolas Hoizey En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents
Salut Jacques,
j’avoue ne pas avoir touché à ce code depuis sa publication ici, n’étant d’ailleurs finalement pas utilisateur moi-même...
Fil avait trouvé l’idée intéressante, mais ça n’a une fois de plus rien donné, malheureusement.
8. Le 9 décembre 2005 à 13:38, par Paul En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Salut,
Plutôt que de donner ton mail, tu aurais pu donner un lien vers le fichier à télécharger, ou expliquer directement dans ce forum comment tu as corrigé.
Je t’envoie un mail pour voir si tu réponds.
Paul
9. Le 18 décembre 2005 à 17:17, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Comme l’a propose si malicieusement Paul voici le lien direct vers le fichier pour vous eviter une attente :
http://j.gaujard.free.fr/stuff/galerie.php3.zip
Bon dev a tous ;)
10. Le 19 décembre 2005 à 12:19, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Il y a un petit souci avec le compte Free avec le fichier zip. J’ai donc du changer le nom de l’archive.
Voici le lien (definitif) :
http://j.gaujard.free.fr/stuff/galerie.zip
11. Le 20 décembre 2005 à 09:37, par Nicolas Hoizey En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
Mais quelle était cette erreur, justement ???
12. Le 6 février 2006 à 20:26, par ju En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
L’erreur était dans a déclaration du js.. bizarre bizarre.
Sinon, moi j’en ai eu une autre (d’erreur) avec le source "corrigé". que j’ai "résolu" en remplaçant :
$v = str_replace('<script type="text/javascript"><!--', '', $v);
par
$v = str_replace('<script type="text/javascript" ><!--', '', $v);
un simple espace m’a enlevé beaucoup de bruit....
13. Le 18 octobre 2006 à 19:18, par gg33bdx En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents
J’ai voulu installer la galerie sur un spip 1.8.3
avec sarka spip
j’ai ce message d’erreur
Galerie de documents
Fatal error : Call to undefined function : texte_vignette_document() in /home.1/g/i/r/girondin/www/ecrire/galerie.php3 on line 179
Merci pour votre aide
14. Le 28 mars 2007 à 16:16, par ? En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents
Je pense qu’il y a un bug dans galerie.php3 - function sous_arborescence($id_rubrique)
ligne 270
que devrait-il y avoir avant la virgule de "list(, " ?
15. Le 28 mars 2007 à 17:43, par Nicolas Hoizey En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents
Pourquoi manquerait-il quelque chose ?
Y a-t-il un plantage quelconque ?
16. Le 28 mars 2007 à 20:09, par Coyote En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents
oui, j’ai un plantage en essayant d’adapter cette contrib à spip192.
le programme stop à la fonction "list"
pb transmis par email...
17. Le 29 mars 2008 à 20:45, par se7en En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents
Bonsoir,
Bravo pour avoir eu l’initiative de lancer ce plug-in qui mériterait d’être soutenu et peaufiné davantage.
Nous l’avons fait tourner correctement sur la 1.9.2, mais intégré au plug-in "Barre Typo V2 pour 1.9.2 et suivantes" Version 2.4.1, il reste un problème de javascript dans certains environnements. Ce bug est bien frustrant tant la fonction peut être attendue par certains, je dis ça pour encourager les développeurs à poursuivre leur effort, pas pour râler ! ;-)
Une piste d’amélioration :
Il faudrait afficher le numéro identifiant de l’article quelque-part en regard de chaque image ou document disponible dans le repository.
Ainsi on aurait pas forcément à cliquer sur le lien pour exploiter le fichier (à la mano via un raccourci customisé par ex).