La première fonction d’une balise dynamique est la même fonction utilisée pour les balises statiques, c’est à dire une fonction du nom de la balise : balise_NOM_dist()
.
Cette fonction, au lieu d’insérer un code statique va appeler une fonction générant un code dynamique : calculer_balise_dynamique()
.
En général, le contenu de la fonction se résume à l’appel du calcul dynamique, comme pour cet exemple de la balise #LOGIN_PRIVE
:
function balise_LOGIN_PRIVE ($p) {
return calculer_balise_dynamique($p, 'LOGIN_PRIVE', array('url'));
}
La fonction de balise reçoit la variable $p
, contenant les informations issues de l’analyse du squelette concernant la balise en question (arguments, filtres, à quelle boucle elle appartient, etc.).
La fonction calculer_balise_dynamique
prend 3 à 4 arguments :
- le descriptif
$p
- le nom de la balise dynamique à exécuter (en général, le même nom que la balise !)
- un tableau d’argument à récupérer du contexte de la page. Ici la balise dynamique demande à récupérer un paramètre
url
issu du contexte (boucle la plus proche ou environnement de compilation du squelette). Si l’on n’a pas de paramètre à récupérer du contexte, il faut donner unarray()
vide - optionnel, le 4e argument permet d’envoyer un tableau d’éléments qui sera transmis à la fonction suivante (
balise_NOM_stat
), complétant alors le tableau$context_compil
. On peut donc calculer des éléments dans la fonctionbalise_NOM_dist()
et les transmettre.