SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

47 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Images, Galeries > Images actives > Image active automatique
[6 commentaires]

Image active automatique

Petit code ultrasimple

samedi 1er décembre 2007, par Joss

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

Grace aux filtres graphiques de SPIP 1.9.x, il est très simple de laisser SPIP calculer une image réactive.

Il suffit d’insérer ce code HTML dans la boucle de votre choix. Pour le logo d’un article :

  1. <a href="#URL_ARTICLE"><img
  2. src="[(#LOGO_ARTICLE_RUBRIQUE
  3.      |#URL_ARTICLE
  4.      |filtrexxx
  5.      |extraire_attribut{src})]"
  6. border="0"
  7. onMouseOver="this.src='[(#LOGO_ARTICLE_RUBRIQUE
  8.      |#URL_ARTICLE
  9.      |filtrexxx
  10.      |filtreyyy
  11.      |extraire_attribut{src})]'"
  12. onMouseOut="this.src='[(#LOGO_ARTICLE_RUBRIQUE
  13.      |#URL_ARTICLE
  14.      |filtrexxx
  15.      |extraire_attribut{src})]'"></a>

Dans le cas logo / logo noir et blanc voilà ce que ça peut donner :

  1. <a href="#URL_ARTICLE"><img src="[(#LOGO_ARTICLE_RUBRIQUE
  2.      |#URL_ARTICLE
  3.      |image_reduire{180,180}
  4.      |extraire_attribut{src})]"
  5. border="0"
  6. onMouseOver="this.src='[(#LOGO_ARTICLE_RUBRIQUE
  7.      |#URL_ARTICLE
  8.      |image_reduire{180,180}
  9.      |image_nb{330,330,330}
  10.      |image_gamma{-30}
  11.      |extraire_attribut{src})]'"
  12. onMouseOut="this.src='[(#LOGO_ARTICLE_RUBRIQUE
  13.      |#URL_ARTICLE
  14.      |image_reduire{180,180}
  15.      |extraire_attribut{src})]'"></a>

Il existe beaucoup d’autres filtres à l’adresse suivante http://www.spip.net/fr_article3327.html qui peuvent être combinés les uns aux autres.

Il faut avoir inséré un logo dans son article ou sa rubrique au préalable pour cet exemple. Cependant rien ne vous empêche d’adapter ce code à vos documents joints.

Un exemple sur le site du Volant Opale Club avec le filtre sépia.

Beurt m’a suggéré une approche alternative en utilisant le fichier mes_fonctions.php [1], il suffit d’y ajouter ces lignes :

  1. <?php
  2. // Fonction qui rajoute un effet de survol sur les images dont l'image de survol n'est pas déjà définie.
  3. // utilisation: Placer dans un squelette:
  4. // [(#BALISE_IMAGE
  5. //      ||des_filtres
  6. //      |inserer_rollover{[(#AUTRE_BALISE_IMAGE||encore_des_filtres})]
  7. function inserer_rollover($texte,$rollover) {
  8.       $onmouseover=" onmouseover=\"this.src='".extraire_attribut($rollover, "src")."'\"";
  9.       $onmouseout=" onmouseout=\"this.src='".extraire_attribut($texte, "src")."'\"";
  10.       $texte = (preg_replace("/(<img.*?)(\/>)/i", "\$1$onmouseover$onmouseout \$2", $texte));
  11.       return $texte;
  12. }
  13. ?>

Ensuite on l’utilise tout simplement dans les squelettes avec :

[(#BALISE_IMAGE
      ||des_filtres
      |inserer_rollover{[(#AUTRE_BALISE_IMAGE
            ||encore_des_filtres}
)
]

A vous de voir quelle est la solution qui vous paraît la mieux adaptée à vos besoins.

Notes

[1] voir la doc de SPIP sur le fichier mes_fonctions.php :les filtres de SPIP (voir en bas de page).

Retour en haut de la page

6 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    11 décembre 2007 11:45 , par Beurt

    Oups ! On dirait que Joss a été plus rapide !

  • Répondre à ce message

    11 décembre 2007 11:40 , par Beurt

    Je crois que l’idée, ici, c’est d’utiliser les filtres image de SPIP pour obtenir un logo de survol. Les propriétés CSS sont loin d’être aussi riches que les filtres image... (par exemple, j’utilise un léger flou quand les images sont survolées).

  • Répondre à ce message

    11 décembre 2007 11:37 , par Joss2

    En fait le but de cette "image active automatique" est justement d’utiliser les filtres graphiques de SPIP, afin de définir une charte graphique, quelque soit le logo/l’image que le rédacteur choisisse d’intégrer à son article/rubrique.

  • Répondre à ce message

    11 décembre 2007 11:13 , par aziz

    pas besoin de cree un filtre car j’ai fait ca via css( propriete opacity :) exp : a img border : 0 ; opacity : 0.7 ; a img:hover opacity : 1 ;

    par agence communication marrakech.

  • Répondre à ce message

    5 décembre 2007 11:57 , par Beurt

    Les gros avantages de la contrib décrite ici sur celle que tu propose utilisant jquery sont :

    1. Mise en œuvre ultra simple
    2. Possibilité d’utiliser des filtres différents selon les endroits dans le squelettes.
    3. permet (pour le code à insérer dans mes_fonctions.php) d’afficher l’image de survol si elle existe, le rollover/survol automatique sinon.
    1. [(#LOGO_NORMAL
    2.         ||des filtres si besoin
    3.         |inserer_rollover{[(#LOGO_SURVOL
    4.                         ||des filtres éventuellement
    5.                         |sinon{[(#LOGO_NORMAL
    6.                                 ||des filtres pour rendre le logo normal survolé)]})]})]

    Je l’utilise surtout pour la seconde et la troisième possibilité : certains logos d’articles ont un rollover/survol avec certains filtres et d’autres logos ont des filtres différents en fonction du types d’article. Enfin certains d’entre-eux ont déjà une image de survol choisie par les rédacteurs.

    La contrib’ Survol de logo automatique N&B <> couleur propose, il me semble, un rollover unifié pour toutes les images.

    Je ne précise pas ça pour critiquer, mais pour que les Spipeurs fassent leur choix entre les deux contrib’ en connaissance de cause :

    - Survol de logo automatique N&B <> couleur pour un rollover non intrusif (pas de rajouts concernant le rollover dans les balises <img>).
    - Cette contrb’-ci pour ceux qui veulent avoir différents type rollovers dans leurs squelettes (avec des effets différents selon les images).

  • Répondre à ce message

    3 décembre 2007 22:08 , par echo

    Avec jQuery, on peut aussi créer des rollovers non intrusifs.

    je me permets de recroiser avec ce qui est déjà existant, ce tuto permet également d’utiliser les filtres images que l’on veut.

    http://www.spip-contrib.net/Survol-de-logo-automatique-N-B

    Rollovers visibles sur le menu du haut de derouault.net

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0