Exemple
Reprenons l’exemple de
#LOGIN_PUBLIC
: elle fonctionne avec 1 ou 2 arguments : le premier est l’URL de redirection après s’être logé, le second est le login par défaut de la personne à loger. Les deux sont optionnels.
On peut donc passer à la balise un argument de redirection :
#LOGIN_PUBLIC{#SELF}
ou
#LOGIN_PUBLIC{#URL_ARTICLE{8}}
, mais en absence d’argument, on souhaite que la redirection soit faite sur un paramètre d’environnement
url
s’il existe. On avait demandé à récupérer cet argument, il se trouve dans
$args[0]
.
$args[1]
lui contient le contenu du premier argument donné à la balise (il s’ajoute dans le tableau
$args
après la liste des arguments automatiquement récupérés). Ceci donne :
function balise_LOGIN_PUBLIC_stat($args, $context_compil) {
return array(
isset($args[1])
? $args[1]
: $args[0],
(isset($args[2])
? $args[2]
: '')
);
}
Si
$args[1]
est présent on le transmet, sinon
$args[0]
. De même si
$args[2]
est présent, on le transmet, sinon ’’.
La fonction
_dyn()
recevra ces 2 arguments transmis :
function balise_LOGIN_PUBLIC_dyn($url, $login) {
...
}