Vous pourriez préférer naviguer sur la version spécifique iPhone / iPod Touch de ce site...

La galerie SPIP, pour réutiliser facilement les images et documents

Date de publication
9/juin
2004
Commentaires
20 commentaires
Tags

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 :

Zip - 6.9 ko
galerie.zip
Les fichiers de la galerie pour SPIP 1.7.2

Elle contient les quatre fichiers suivants :

  • galerie.php3 est le script qui affiche la galerie, il est à placer dans le répertoire ecrire/
  • galerie.png est une nouvelle icône pour la barre, elle est à placer dans le répertoire IMG/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 fonction barre_galerie() :
      function barre_galerie(champ) {
        window.open('galerie.php3?field=' + champ, 'galerie',
    'width=550,height=400,menubar=no,scrollbars=yes')
      }
Post-Scriptum

Cette galerie a également été testée avec succès avec la version 1.8 alpha 1 CVS du 7 juin 2004.

RSS

Commentaires

Commenter cet article

  • 30 janvier 2005 18h14, gerard

    > 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

    Répondre à ce commentaire

  • 9 juin 2005 12h56, Bou1024

    > 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....

    Répondre à ce commentaire

    • 15 juin 2005 15h53, defro

      > 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. :)

      Répondre à ce commentaire

  • 6 décembre 2005 13h45, Jacques PYRAT

    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.

    Répondre à ce commentaire

    • 6 décembre 2005 14h10, Nicolas Hoizey

      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.

      Répondre à ce commentaire

  • 17 avril 2006 03h28, alex

    Compatibilité spip 1.8.3

    Je voudrais savoir si cette galerie est compatible avec spip 1.8.3, si elle a été testé avec succés sur cette version ou s’il y a des modifications simples à effectuer pour la rendre compatible.

    Répondre à ce commentaire

    • 18 mai 2006 17h15, dil

      Compatibilité spip 1.8.3

      Est-ce que quelqu’un a reussi a integrer cette galerie en 1.8.3 ?

      Répondre à ce commentaire

      • 18 octobre 2006 19h27, gg33bdx

        Compatibilité spip 1.8.3

        Bonjour, j’ai essayé d’installer le bouton galerie sur spip 1.8.3 et il m’envoie un 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

        avez-vous trouvé la solution ? Merci pour votre réponse

        Répondre à ce commentaire

  • 28 mars 2007 16h16

    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

    while (list(, $article) = each($listeArticles))

    que devrait-il y avoir avant la virgule de "list(, " ?

    Répondre à ce commentaire

  • 29 mars 2008 20h45, se7en

    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).

    Répondre à ce commentaire

RSS

Derniers billets

Derniers commentaires