Accueil > Documentation en français > Webmestres > Manuel de référence des bouc

Accueil > Documentation en français > Webmestres > Manuel de référence des boucles et balises > Balises > #ENV #ENV #ENV{parametre} récupère des variables d’environnement transmises au squelette. Un second argument permet de donner une valeur par défaut si le paramètre demandé n’est pas présent dans l’environnement ou si son contenu est vide. SOMMAIRE Description Exemples Exemples avancées Court-circuiter les traitements de sécurité Voir aussi Description [(#ENV{paramètre, valeur par défaut})] Chercher dans un sous tableau Le nom du paramètre d’environnement peut également contenir des barres obliques / indiquant de chercher dans un sous tableau. Cette écriture est équivalente à l’appel du filtre |table_valeur et est aussi valide sur les balises #GET, #SESSION et #CONFIG. Enfin, la balise #ENV toute seule retourne un tableau sérialisé de tous les paramètres d’environnement. Exemples Récupérer un identifiant d’article, sinon la chaîne « new » : Télécharger #ENV{parametre/dans/un/tableau, valeur par défaut} // équivalent à : [(#ENV**{parametre}|table_valeur{dans/un/tableau, valeur par défaut})] spip #ENV{id_article,new} Récupérer dans une boucle les valeurs de l’id_rubrique et de l’id_mot passées dans l’URL spip.php?rubrique24&id_mot=5 Récupérer l’id_article passée dans un INCLURE : <INCLURE{fond=mon_squelette, id_article=136}> Dans mon_squelette.html, #ENV{id_article} vaut 136. Exemples avancées Avec dans l’URL ?afficher[articles]=oui, tester si on affiche les articles : #ENV{afficher/articles} // affiche 'oui' Afficher tout l’environnement (utile pour débugguer) : [<pre>(#ENV**|unserialize|print_r{1})</pre>] Important : Pour des questions de sécurité, il faudra absolument retirer ce code à la fin de développement de votre site. Court-circuiter les traitements de sécurité Par défaut, SPIP applique les fonctions interdire_scripts() et |entites_html à la balise #ENV. Comme pour toute balise, on peut supprimer les traitements automatiques de SPIP avec #ENV* et #ENV** (voir, pour l’usage de * et **, l’article #BALISE* et #BALISE**). <BOUCLE_art(ARTICLES){id_rubrique=#ENV{id_rubrique}}{id_mot=#ENV{id_mot}}> … spip - #ENV* retourne la variable sans appliquer le filtre |entites_html , donc sans transformer tous les caractères spéciaux en entités HTML. - #ENV** retourne la variable sans appliquer également la fonction interdire_scripts(). Elle renvoie donc le PHP exécuté. Ceci peut poser un problème de sécurité si cette variable reçoit une injection de code. Néanmoins #ENV** trouve des applications, par exemple dans l’espace privé où la fonction interdire_scripts() est appliquée de façon plus restrictive. #ENV** permet alors de lever ces restrictions de façon très localisée. Mais encore une fois, à utiliser en connaissance de cause ! Voir aussi <INCLURE> d’autres squelettes Le filtre |setenv Sur Programmer.spip.net L’environnement #ENV Transmettre des paramètres Sur Code.spip.net interdire_script() (https://programmer.spip.net/L-environnement-ENV) (https://programmer.spip.net/Transmettre-des-parametres) (https://code.spip.net/autodoc/tree/ecrire/inc/texte.php.html#function_interdire_scripts) Auteur Aurélie, cam.lafit, denisb Publié le : 14/02/09 (2009-02-14T14:48:34Z) Mis à jour : 25/04/19 (2019-04-25T12:15:29Z) Traductions : ﻋﺭﺑﻲ, català , English , Español , français, Nederlands , русский , Türkçe , українська [ar] [ca] [en] [es] [nl] [ru] [tr] [uk] uploads/Geographie/ env-spip.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager