Voici un filtre qui permet de transférer le contenu de la balise #ENV
d’un squelette à un squelette inclus.
Mise en œuvre
Son utilisation est assez simple, il faut :
- placer le code suivant dans votre fichier mes_fonctions.php [1] :
function env($env,$par='') {
$env = str_replace('"','"',$env);
if($par) {
$env = unserialize($env);
return entites_html($env[$par]);
}
return $env;
}
- dans le squelette qui fait l’inclusion, ajouter {env=#ENV}
à l’inclusion :
<INCLURE{fond=test}{env=#ENV}>
- dans le squelette inclus, pour acceder à un paramètre d’url de nom mon_param :
[(#ENV{env}|env{mon_param})]
Exemple
Si on utilise les mots-clés pour inclure certaines noisettes :
<BOUCLE_coeur_article (MOTS) {id_article} {type = _squelettes_article}>
<INCLURE {fond=squelettes_articles/#TITRE} {id_article}>
</BOUCLE_coeur_article>
<INCLURE {fond=squelettes_articles/defaut} {id_article}>
<//B_coeur_article>
Ces noisettes ayant des comportements très différents, il est possible de rapidement se retrouver avec plusieurs paramètres différents à ajouter à chaque fois (un pour la pagination, un pour un critére de tri, un pour un filtre par date, …).
Pour être sûr de retrouver le paramètre dont on a besoin, on passe au squelette inclus l’ensemble de #ENV en écrivant <INCLURE {fond=squelettes_articles/#TITRE} {id_article} {env=#ENV}>
.
Maintenant, si on a besoin d’un paramètre date dans le squelette inclus, on obtiendra sa valeur à l’aide de [(#ENV{env}|env{date})]
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |