SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Outils pour plugins > Le Couteau Suisse > Trousse à Balises : la balise #BOLO et Cie

Trousse à Balises : la balise #BOLO et Cie

Dans le couteau suisse

8 mars 2009 – par Maïeul, Patrice Vanneufville

21 votes

Introduction

Cet outil est une fonctionnalité du plugin « Le Couteau Suisse » que vous pouvez trouver ici : Le Couteau Suisse. Son but est de rassembler quelques balises très utiles dans la rédaction de vos squelettes. Lorsque cela a été possible, la balise proposée a également été déclinée en modèle pour être utilisable à l’intérieur de vos contenus éditoriaux (articles, rubriques, brèves, etc.).

Pour avoir accès à la trousse à balises, il vous faut donc avoir installé ce plugin en suivant la procédure normale d’installation des plugins SPIP.

Ensuite, veuillez activer l’outil « Balises, filtres, critères / Trousse à Balises » en vous rendant sur la page d’administration du plugin en espace privé (Bouton Configuration, et onglet "Le Couteau Suisse").

Du faux texte : la balise #BOLO

Cyril Marion avait proposé une balise #BOLO dans un article. Le but étant de produire un faux texte de type Lorem Ipsum, utile lors de la phase de développement.

La révision 26916 du couteau suisse l’intègre désormais.

La balise #BOLO

Placée dans un squelette, elle produit un faux texte d’environ 3000 caractères ("bolo" ou "lorem ipsum") afin d’aider à la mise au point des pages.

Elle peut prendre un argument numérique, pour limiter le nombre de caractères de faux texte.

Exemple : #BOLO{300} produira 300 caractères de faux texte.

Bien sûr, cette balise accepte tous les filtres de SPIP. Exemple : [(#BOLO|majuscules)].

Le modèle <boloxxx>

La valeur xxx correspond au nombre de caractères de faux texte. Ce modèle s’insère dans tous les contenus SPIP (articles, rubriques, etc.), pour n’importe quelle zone de texte (chapo, descriptif, texte, etc.).

Exemple : le raccourci <bolo300> insère 300 caractères de faux texte.

La balise #CHR

La notation #CHR{XX}, plus courte est plus explicite, est un équivalent à l’une des deux expressions suivantes :
-  #EVAL{"chr(XX)"}
-  #VAL{XX}|chr

Note : La balise #VAL est introduite par SPIP v2.0, mais le Couteau Suisse l’intègre aussi dans les version antérieures de SPIP.

XX représente le numéro ASCII du caractère à représenter, à l’instar de la fonction chr() du langage PHP. Pour vous repérer, voici la table ASCII des 255 premiers caractères : http://www.asciitable.com/.

Un exemple d’utilisation :

<script type='text/javascript'>/*<!#CHR{91}CDATA#CHR{91}*/
ma_fonction_js();
/*#CHR{93}[(#CHR{93})]>*/</script>

Voici le code de cette balise :

  1. // La balise #CHR
  2. function balise_CHR_dist($p) {
  3. if (($v = interprete_argument_balise(1,$p))!==NULL){
  4. $p->code = "chr(intval($v))";
  5. $p->type = 'php';
  6. }
  7. return $p;
  8. }

Télécharger

Bien sûr, il est superflu de proposer un modèle ici car le langage HTML permet d’insérer facilement n’importe quel caractère grâce à son code ASCII : &#0XX;. Exemple : &#091;.

La balise #MAINTENANT

Cette balise renvoie la date et l’heure actuelle. Attention : si le cache de SPIP est utilisé (fonctionnement normal), le résultat renvoyé est celui du moment du calcul de la page. Pour avoir une horloge en direct, reportez vous à l’article suivant : Une horloge (suisse ?) pour le Couteau.

L’argument facultatif est le format du résultat renvoyé, façon PHP. Par défaut, le format Y-m-d H:i:s est utilisé. Tous les formats utilisables sont détaillés ici : http://php.net/manual/fr/function.d....

Exemples d’utilisation :
-  #MAINTENANT
-  #MAINTENANT{Y-m-d}
-  #MAINTENANT{'Y-m-d H:i'}
-  [(#MAINTENANT|affdate)]

Un alias anglophone de la balise est également proposé par le plugin : la balise #NOW qui s’utilise exactement de la même façon.

Voici le code de cette balise :

  1. // La balise #MAINTENANT
  2. function balise_MAINTENANT_dist($p) {
  3. $format = sinon(interprete_argument_balise(1,$p), "'Y-m-d H:i:s'");
  4. $p->code = "date($format)";
  5. $p->interdire_scripts = false;
  6. return $p;
  7. }

Télécharger

Notez que les trois expressions suivantes sont équivalentes :
-  #MAINTENANT
-  [(#VAL{Y-m-d H:i:s}|date)]
-  #EVAL{"date('Y-m-d H:i:s')"}

La balise #AUTORISER_SINON_LOGIN

Le raccourci #AUTORISER_SINON_LOGIN{xxx} est équivalent à :

#AUTORISER{xxx}|sinon_interdire_acces{[(#URL_PAGE{login}|parametre_url{url,#SELF,&})]}

Cette balise est pratique pour lancer une demande de login lorsque le squelette demandé n’est pas autorisé.

Exemple qui restreint une page aux rédacteurs logués :
-  #AUTORISER_SINON_LOGIN{ecrire}.

Exemple qui restreint une page aux administrateurs logués :
-  #AUTORISER_SINON_LOGIN{configurer,_plugins}.

Voici le code de cette balise :

  1. // Appelle la balise #AUTORISER et renvoie une demande de login si niet
  2. function balise_AUTORISER_SINON_LOGIN_dist($p) {
  3. function_exists('balise_AUTORISER')
  4. ? balise_AUTORISER($p) : balise_AUTORISER_dist($p);
  5. $p->code = 'sinon_interdire_acces(' . $p->code
  6. . ', parametre_url(generer_url_public("login","",false),"url",self(),"&"))';
  7. return $p;
  8. }

Télécharger

La balise #LESMOTS

En cours de développement.

Dernière modification de cette page le 2 décembre 2013

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

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

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2295 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Lecteur pdf javascript pdf.js

    20 février 2012 – 163 commentaires

    Ce plugin est basé sur le projet pdf.js qui permet une lecture en ligne des pdfs depuis le navigateur. Ce plugin est expérimental et les contributions sur la zone sont les bienvenues. Avantages Open source Ne requiert pas flash et donc (...)

  • SPIP 3, Agenda et FullCalendar

    6 août 2012 – 318 commentaires

    Depuis SPIP 3, l’affichage d’un agenda sous forme de calendrier par jour/semaine/mois à changé. Les filtres |agenda_memo et apparentés sont désormais obsolètes. Il en est de même pour les filtres agendafull_memo et apparentés du plugin Agenda. (...)

  • Mode portail Communiquant pour SoyezCréateurs

    29 septembre 2010 – 28 commentaires

    5e mode d’affichage de la page d’accueil, ce mode se distingue des autres par une animation proposant un fondu/enchaîné des logos des articles à la une. Zonage Configuration Bloc 1 : Zone d’entête Nom du site Slogan si plugin bandeau présent Zone (...)

  • GIS 4

    11 août 2012 – 1420 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)