Vignettes et images de survol

Cette contrib est inspirée de La miniature et son popup, par pym [1].

Présentation :

Lorsqu’on utilise la génération d’images miniatures (vignettes), une image insérée en tant que document a un lien permettant l’ouverture de l’image originale en taille réelle. Ce lien ouvre cette dernière à la place du contenu, dans une page blanche.

Avec cette contribution, l’image originale s’ouvre à la place de la vignette, à son survol. Le reste de l’article est inchangé, à l’exception de la mise en page qui se décale du fait de la différence de taille entre les 2 images.

Installation :

  • décompresser l’une des archives jointes en fonction de votre version de SPIP puis ouvrir survol.php3 [2] dans un éditeur de texte
  • copier/coller la fonction « survol » :
    • soit dans le fichier mes_fonctions.php3 qui se trouve à la racine du site (SPIP 1.8)
    • soit dans le fichier mes_fonctions.php qui se trouve dans le dossier squelettes (SPIP 1.9)

Utilisation :

Dans le squelette de l’article (article.html), appliquer le filtre « survol » au texte, c’est à dire remplacer #TEXTE par [(#TEXTE|survol)].

Exemple :
Voir cette page, sur laquelle on voit bien le résultat du traitement des images insérées comme documents sous forme de vignettes. Les autres images restent inchangées.

Principe de fonctionnement :

Le script recherche toutes les occurrences de vignettes, c’est à dire une balise image précédée d’un lien vers une image de type jpg, png ou gif : <a href=""><img src=""></a>. Il les remplace par une balise image avec survol (<img src="" onmouseout="" onmouseover="">) : l’image de la vignette est utilisée comme argument de « onmouseout » alors que l’image originale est utilisée comme argument de « onmouseover ».

Limitations :


-  testé sur SPIP 1.8.2, 1.9.1 et 1.9.2
-  ne fonctionne que pour des images insérées dans l’article en tant que documents, donc par une balise du type doc (exemple : <doc123|center>)

Notes

[1merci à lui pour ses conseils

[2ou survol.php dans le cas de SPIP 1.9

Discussion

3 discussions

  • 8

    Je débute avec SPIP, j’ai téléchargé 1.9.1 mais je ne vois pas de dossier squelettes, faut-il le créer ? et où se trouve le fichier mes_fonctions.php

    Merci de votre aide

    Répondre à ce message

  • 1

    Comment faire pour mettre en valeur un code(script) en couleurs, gras, comme un peu plus bas dans cette page !?

    • Pour du code, il me semble qu’il faut mettre le script entre [code] et [/code] (remplacer [] par <>). Pour le gras, utiliser les raccourcis typographiques proposés par l’interface ou mettre le texte entre doubles accolades.

    Répondre à ce message

  • 3

    J’essaie d’implémenter cette fonction sur un site en 1.9.1 mais le résultat n’est pas au rendez-vous :

    je mets le fichier mes_fonctions.php dans le dossier squelettes (et pas à la racine) et le fitre (#TEXTE sur le squelette ARTICLE

    et je me retrouve avec cette erreur pour les articles :
    Fatal error : Call to undefined function : survol() in /home/www/monsite/www/ecrire/public/composer.php(48) : eval()’d code on line 887

    je crois qu’il y a un problème de chemin.

    Si je mets mes_fonctions.php à la racine ca ne marche pas non plus -> pas de fonction SURVOL connue
    (là je crois que c’est normal).

    catherine

    • Bonjour,

      C’est effectivement dans le dossier squelettes qu’il faut mettre mes_fonctions.php pour SPIP 1.9 => je vais modifier l’article pour apporter cette correction.

      Pour l’instant je ne comprends pas pourquoi ça ne fonctionne pas chez toi. Dans un 1er temps (ça parait idiot mais on ne sait jamais) vérifie bien l’orthographe de la fonction survol à la fois dans le squelette article.html et dans mes_fonctions.php. Et aussi la syntaxe de ce fichier php (les balises, les accolades de la fonction, etc.) et de l’article ([(#TEXTE|survol)]).
      Si tu le souhaites, envoie-moi un message en utilisant ce lien pour qu’on puisse éventuellement échanger des fichiers par courriel.

    • Ca y est j’ai réussi. Je pense que je n’avais pas bien copié/collé le code de mes_fonctions.php,

      C’est très bien comme résultat (trouve-je) : http://www.stadeleonardkreisker.fr/spip.php?article20

      merci
      dd

    • j’ai parlé trop vite, le survol marche très bien sur Firefox mais avec Explorer 6 l’image « saute » et décale toute la mise en page. (testé sur Linux et Win XP)

      catherine

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom