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 25 septembre à 12:01, par Teddy Payet
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation
# Le 25 septembre à 11:20, par vY
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation
# Le 21 juin à 13:49, par Teddy Payet
En réponse à : Home Assistant : Routine le matin avant l’école
# Le 21 juin à 10:47, par Teddy Payet
En réponse à : Ma domotique open source
# Le 16 juin à 17:15, par Eric
En réponse à : Ma domotique open source
# Le 7 mars à 09:43, par Jacques Pyrat
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation