SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 204 visiteurs en ce moment

Accueil > Squelettes > Tutoriels pour squelettes > Archives Tutoriaux squelettes > Texte alternatif

Texte alternatif

16 mai 2003 – par James, JLuc

1 vote

Ce filtre très simple vous permettra d’afficher le texte non vide d’une balise avec un contexte, et un texte alternatif si le contenu de la balise est vide.

Dans mes_fonctions.php3 :

  1. /*
  2.  * +----------------------------------+
  3.  * Nom du Filtre : texte_alternatif
  4.  * +----------------------------------+
  5.  * Date : Jeudi 8 mai 2003
  6.  * Auteurs : James (klike@firstream.net)
  7.  * Jean-Luc Girard (www.ouhpla.net)
  8.  * +-------------------------------------+
  9.  * Fonctions de ce filtre :
  10.  * affiche un texte si le contenu de la balise est vide
  11.  * +-------------------------------------+
  12.  *
  13.  * Pour toute suggestion, remarque, proposition d'ajout
  14.  * reportez-vous au forum de l'article :
  15.  * http://www.spip-contrib.net/Texte-alternatif
  16.  */
  17.  
  18. function texte_alternatif ($texte, $avant='', $altern='', $apres='')
  19. {
  20. if ($texte)
  21. return $avant.$texte.$apres;
  22. else
  23. return $altern;
  24. }

Télécharger

Rappel :

Le filtre sinon permet d’écrire, dans une boucle d’article :

  1. [<div class="notes">(#NOTES|sinon{"Pas de notes"})</div>]

Cependant il ne permet pas de gérer un contexte d’insertion (avant et après) variable en fonction du résultat du test sur la balise, ainsi que le formalisme spip habituel [avant (test) après] le permet.

Le filtre texte_alternatif

Le filtre texte_alternatif permet donc d’insérer un contexte avant et après la balise testée seulement si la balise est non vide, et d’insérer un texte en alternative au tout, si la balise est vide.

-  Le 1er argument est le texte qui s’insère avant la balise si celle ci n’est pas vide
-  Le 2e argument est le texte qui remplace la balise si celle-ci est vide. Par contre si la balise n’est pas vide, c’est elle qui est insérée à cette place.
-  Le 3e argument est le texte qui s’insère après la balise si celle ci n’est pas vide

Exemple d’usage  :

Pour insérer les notes dans un div avec un CSS particulier si il y a des notes, et un petit texte avec un autre CSS si il n’y a pas de notes.

-  Source écrit :

  1. [(#NOTES|texte_alternatif{
  2. "<div class='notes'>",
  3. "<div class='nonotes'>Il n'y a pas de notes</div>",
  4. "</div>" })]

Télécharger

-  Code généré équivalent si il y a des notes :
 <div class="notes">#NOTES</div>

-  Code généré si il n’y a pas de notes :
<div class="nonotes">Il n'y a pas de notes</div>

Dernière modification de cette page le 19 novembre 2014

Retour en haut de la page
Retour en haut de la page

Ça discute par ici

  • Menus

    18 août 2009 – 978 commentaires

    Créez enfin vos menus facilement !

  • Utilisez le framework Foundation dans vos squelettes !

    13 août 2013 – 85 commentaires

    Foundation est un framework CSS et Javascript très complet pour réaliser des sites sur une grille propre et homogène. Mais surtout, il permet de rendre un site responsive très facilement ! Ce plugin ajoute le framework Foundation sur l’espace (...)

  • Critère {mots}

    6 août 2009 – 318 commentaires

    Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

  • Des blocs dépliables

    6 janvier 2008 – 477 commentaires

    Cet outil vous permet de créer des blocs dont le titre cliquable peut rendre un contenu visible ou invisible, voire de les munir d’une adresse pour que le bloc visible soit récupéré en AJAX. Ces blocs sont disponibles dans tous vos contenus SPIP (...)

  • Albums 3

    8 août 2014 – 237 commentaires

    Le plugin « Albums » évolue dans une version 3 pour SPIP 3. Avant d’effectuer une mise à jour depuis la version 1 ou 2, consultez les notes sur la rétro-compatibilité. Les modèles, notamment, on reçut quelques changements pour la bonne cause. En (...)

Ça spipe par là