Afficher les champs d’un objet #SPIP v2

Dans la même trempe que Afficher les champs d’un objet #SPIP, je vais prendre le même principe mais l’étendre en affichant une chaîne de langue… Tout un programme.
J’ai réussi cette performance grâce au code que m’a donné kent1. Merci à lui pour ce code.
L’utilité de cette boucle est de lister les différents champs d’un objet sur sa page de vue. Exemple : ?exec=projet_site&id_site=XX
L’espace privé de SPIP 3 étant géré par des squelettes, il suffit de créer un fichier /prive/squelettes/extra/projet_site.html
avec le code suivant :
[(#BOITE_OUVRIR{[(#VAL{#ENV{exec}}|concat{':label_',#ENV{exec},'_champs'}|_T)],'info','titrem'})]
[(#ENV{singulier}|=={oui}|non)
[(#SET{valeurs,#VAL{#ENV{exec}}|concat{'s'}|description_table|table_valeur{field}|array_keys|print})]
][(#ENV{singulier}|=={oui}|oui)
[(#SET{valeurs,#VAL{#ENV{exec}}|description_table|table_valeur{field}|array_keys|print})]
]
[(#SET{tableau,#GET{valeurs}|explode{', '}})]
<B_label>
<ul class="liste-items[ (#VAL{#ENV{exec}}|concat{':label_',#ENV{exec},'_champs'})]">
<BOUCLE_label(DATA){si #SESSION{webmestre}|=={oui}} {source table, #GET{tableau}}>
<li class="item"><strong>#VALEUR : </strong>[<br/>(#VAL{#ENV{exec}}|concat{':label_',#VALEUR}|_T)]</li>
</BOUCLE_label>
</ul>
</B_label>
[(#BOITE_FERMER)]
Structure à respecter
En premier lieu, il faut avoir le fichier de langue nommer sous cette forme : lang/projet_site_fr.php
. Puis chaque champ doit avoir son label : label_champ
, soit label_id_site
, label_logiciel_nom
, label_logiciel_version
, etc.
Après cela, tout roule !
L’astuce magique de kent1
Je vous avais dit que kent1 m’avait communiqué un code qui permettait de reconstruire une chaîne de langue. Voici ce bout de code :
[(#VAL{#ENV{exec}}|concat{':label_',#VALEUR}|_T)]
L’application du filtre |_T
permet de transformer notre variable en chaîne de langue. Magique !
Derniers commentaires
# Le 5 septembreà 15:29, par tikismoke
En réponse à : Home Assistant : Routine le matin avant l’école
# Le 30 décembre 2022 à 09:55, par Teddy Payet
En réponse à : Home Assistant : Routine le matin avant l’école
# Le 14 septembre 2022à 23:51, par spipfactory
En réponse à : Nettoyer la médiathèque
# Le 16 août 2022à 11:21, par idem2lyon
En réponse à : Home Assistant : Routine le matin avant l’école
# Le 12 mars 2022à 05:39, par BijouLePou
En réponse à : Je suis passé à SPIP 4.0
# Le 10 janvier 2022à 17:41, par julien
En réponse à : Je suis passé à SPIP 4.0