SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 75 visiteurs en ce moment

Accueil > Squelettes > Tutoriels pour squelettes > Appliquer un filtre sur autre chose qu’une balise

Appliquer un filtre sur autre chose qu’une balise

22 septembre 2005 – par mortimer – commentaires

2 votes

Voilà un petit truc pour appliquer des filtres SPIP sur des chaînes non dynamiques dans le squelette

Méthode 1 : la balise vide

Le principe est assez simple :

  1. dans SPIP, on peut appliquer un filtre directement sur une balise ou sur un autre filtre,
  2. le filtre |sinon{'chaîne'} retourne « chaîne » si la balise sur laquelle on l’applique ne retourne rien,
  3. #REM est une balise pour mettre des commentaires et ne retourne jamais rien

=> donc [(#REM|sinon{'chaîne'})] retournera toujours « chaîne »

ainsi, on peut appliquer des filtres sur ce texte si on ajoute des filtres après |sinon. Par exemple :
[(#REM|sinon{'chaîne'}|unique)]

On peut utiliser cette astuce pour le filtre |unique et cacher des parties de boucles qui utilisent ce filtre.

On peut aussi imaginer qu’on a un filtre compteur qui somme des balises :

et vouloir l’initialiser :
[(#REM|sinon{10}|compteur)]

Méthode 2 : la chaîne localisée

SPIP permet d’avoir des chaînes localisées, stoquées dans des fichiers local_fr.php3, local_en.php3 etc... en fonction de leur langue. On peut ensuite les appeler dans un squelette avec : <:chaîne:>

Dans SPIP 1.8.2 on peut appliquer des filtres sur ces balises de localisation. Ainsi, on peut appliquer un filtre sur une chaîne statique (potentiellement différente dans chaque langue du site) avec :

<:chaîne|filtre:>

Concrètement

Voici une application qui utilise la première méthode avec le filtre |unique.

On veut afficher la liste des auteurs de forums sur le site. Mais chez moi, y’a un méchant spameur qui s’appelle "Mortimer ". Je ne veux pas l’afficher dans la liste. j’ai donc ajouté :
[(#REM|sinon{'Mortimer'}|unique|?{'',''})] pour que la prochaine fois que le filtre |unique est appliqué au nom ’Mortimer’ (dans la boucle d’affichage des forums) il ne soit pas afficher.

Remarquez que, dans cet exemple, on utlise |ucfirst pour passer la première lettre de chaque nom en majuscule, on ne peut donc pas simplement utiliser le critère {auteur != Mortimer} puisqu’on n’est pas sûr que tous les messages soient signés avec le nom en majuscule.

Dernière modification de cette page le 9 août 2009

Retour en haut de la page

Vos commentaires

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Envoyer des fichiers avec un formulaire Formidable

    2 janvier 2017 – 56 commentaires

    La version 3.0.0 du plugin Formidable permet de créer des formulaires comprenant des envois de fichiers. Cet article regroupe la documentation relative à cette fonctionnalité. Pour une présentation générale de Formidable, voir « Formidable, le (...)

  • Grappes 1.0

    23 novembre 2012 – 33 commentaires

    Présentation et nouveautés Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que (...)

  • Cycle2

    7 août 2014 – 117 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 128 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Mon site affiche une page blanche ou je ne peux plus accèder à l’espace privé

    7 février 2008 – 34 commentaires

    Au secours ! « Tout à coup » votre site devient inutilisable ou inaccessible ! Comment faire ? Pourquoi ? Par où commencer ? Sans pouvoir couvrir tous les cas, cet article va essayer de vous guider rapidement vers la (...)