SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 121 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

  • Sauvegarder le répertoire IMG/ avec wget

    20 février 2007 – 10 commentaires

    Voici un système client serveur en deux lignes pour sauvegarder le répertoire des documents.

  • Rôles de documents

    21 février – commentaires

    Ce plugin permet d’attribuer un rôle aux documents liés aux contenus, et cerise sur le gâteau, rend possible la gestion des logos par le biais des documents-joints. Principe Les documents liés aux contenus n’ont pas forcément tous la même (...)

  • COLT : Extension de Firefox utile pour SPIP

    21 septembre 2008 – commentaires

    Une petite extension de Firefox qui permet de copier des liens sous format SPIP

  • Moulinette

    17 juillet 2015 – 46 commentaires

    Un squelette qui monte et qui descend ! Moulinette est un squelette basé sur le thème Grayscale (documentation) pour Bootstrap 3. Le type de site attendu est un site en une seule page : une rubrique avec quelques articles, des titres courts, des (...)

  • Plugin Duplicator

    3 janvier 2010 – 88 commentaires

    Duplication de rubrique et de ses contenus, et duplication d’articles pour SPIP Fonctionnement Ce plugin permet de dupliquer une rubrique et son contenu depuis l’espace privé en ajoutant un bouton dans la navigation de gauche dans l’espace privé (...)