Balise #SET étendue

Afin d’alléger les écritures parfois très lourdes du type #SET{x,#GET{x}|un_filtre}, cet outil du Couteau Suisse vous offre le raccourci suivant : #SET_UN_FILTRE{x}. Le filtre appliqué à une variable SPIP passe donc dans le nom de la balise.

Introduction

Cet outil est une fonctionnalité du plugin «Le Couteau Suisse». Pour avoir accès aux nouvelles balises #SET_XXX, il vous faut donc avoir préalablement installé ce plugin, puis activé l’outil « Balise #SET étendue » sur la page d’administration du plugin en espace privé.

Présentation

Voici un exemple de code SPIP, efficace, mais un peu difficile à lire :

[(#SET{infobulle,[(#GET{infobulle}|concat{' ',[(#DATE|affdate_court)]})]})]

Avec quelques couleurs :

  1. [(#SET{infobulle,[(#GET{infobulle}|concat{' ',[(#DATE|affdate_court)]})]})]

Le Couteau Suisse offre un outil de simplification de l’écriture #SET / #GET qui consiste à passer dans le nom de la balise #SET le nom du filtre à appliquer sur une variable SPIP existante.

  • Les écritures du type :

#SET{variable,#GET{variable}|un_filtre}

pourront donc être remplacées par le raccourci suivant :

#SET_UN_FILTRE{variable}

  • Avec un ou plusieurs paramètres, les écritures du type :

#SET{variable,#GET{variable}|un_filtre{mes_paramètres}}

pourront donc être remplacées par le raccourci suivant :

#SET_UN_FILTRE{variable,mes_paramètres}

Comme vous pouvez facilement le constater, le filtre appliqué à une variable passe dans le nom de la balise, ce qui peut au final se révéler très pratique.

Quelques exemples

#SET{total,1}#SET_PLUS{total,2}

#SET{ah_oui,avions}#SET_REPLACE{ah_oui,ons,ez}

Et en ce qui concerne la réécriture de l’exemple énoncé en présentation :

#SET_CONCAT{infobulle,' ',#DATE|affdate_court}

Compatibilités

Le plugin Bonux définit deux nouvelles balises pour les tableaux : #SET_PUSH et #SET_MERGE. Aucun souci de compatibilité avec l’outil du Couteau Suisse décrit ici, les balises codées explicitement out toujours la priorité.

updated on 2 October 2019

Discussion

Une discussion

  • 1

    Pratique. En termes de syntaxe j’aurais plutôt vu quelque chose comme #XXXX{total,plus,2}, où XXXX serait du genre UPDATE, MODIF, APPLIQUER, FILTRER…

    • J’y avais effectivement pensé, afin d’améliorer un peu la manipulation des variables SPIP. D’autres fonctions nouvelles pouvaient aussi voir le jour.

      Mais disons que l’allusion directe à #SET me paraissait encore plus facile à mémoriser. En tout cas, l’implémentation de #XXXX — dont la lecture des paramètres de gauche à droite se rapproche effectivement mieux du langage naturel — serait très facile à mettre en oeuvre pour les utilisateurs intéressés.

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom