Balises génériques

Un autre mécanisme malin de SPIP est la gestion des balises qu’on peut qualifier de génériques. En fait, il est possible d’utiliser une seule déclaration de balise pour tout un groupe de balises préfixées d’un nom identique.

Ainsi une balise #PREFIXE_NOM peut utiliser un fichier balise/prefixe_.php et déclarer une fonction balise_PREFIXE__dist() qui sera alors utilisée si aucune fonction balise_PREFIXE_NOM_dist($p) est présente.

La fonction générique, qui reçoit les attributs de la balise dans la variable $p, peut utiliser $p->nom_champ pour obtenir le nom de la balise demandée (ici "PREFIXE_NOM"). En analysant ce nom, on peut donc effectuer des actions adéquates.

Exemple

Cet exemple est utilisé par les balises génériques #FORMULAIRE_NOM, qui en plus sont des balises dynamiques (fichier ecrire/balise/formulaire_.php).

  1. function balise_FORMULAIRE__dist($p) {
  2. preg_match(",^FORMULAIRE_(.*)?$,", $p->nom_champ, $regs);
  3. $form = $regs[1];
  4. return calculer_balise_dynamique($p,"FORMULAIRE_$form",array());
  5. }

Télécharger

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/05/17

Traductions : English, français