Cette action fait partie du groupe d'actions gérant l'affichage de données JSON, XML ou CSV issues d'un fichier sur le serveur ou récupérées avec l'API d'un site web. Un mécanisme de cache permet de limiter les interrogations du serveur distant. Très pratique pour les sites avec une formule gratuite limitée en nombre d'appels.
- data2list : sous forme d'une liste arborescente
- data2table : dans un tableau HTML
- data-info : selon votre modèle de mise en page
Ces actions utilisent les mêmes principes et options que vous pouvez décoouvrir à l'aide des boutons bleus ci-dessous.
{up data-info=data_source | template=##nom_champ##}
emplacement et type des données
- data_info: URL vers data ou fichier
- datatype: pour forcer la détection du type de données (json, xml, csv)
- encoding: codage des caractères de la source : ISO-8859-1
uniquement pour des données CSV ou XML
- csv-header = 1: 0 ou 1 pour indiquer que la première ligne contient les titres de colonnes
- csv-header-title: liste des titres de colonnes séparés par csv-separator
- csv-separator = ;: caractère séparateur pour les colonnes
- xml-attributes: les champs dans la balise ouvrante sont dans un sous-tableau @attributes, Non par défaut: 0 /* [st-sel-lign] sélection des lignes *
sélection des lignes
- lign-root: chemin de la clé racine. Exemple: trk/trkseg
- lign-select: indice du groupe de données ou champ:valeur pour recherche contenu
template pour mise en forme
- template (item-template): modèle de mise en forme résultat
type des contenus
- col-type: date, url, image, boolean, compact ou format pour fonction php: sprintf
- date-format = %e %B %Y: format pour les dates
- boolean-in = 1,0: valeurs dans fichier pour true,false,null
- boolean-out = lang[fr=oui,non,-;en=yes,no,n.a.]: texte en sortie pour les valeurs true,false,null
- url-target = _blank: Cible pour ouverture URL
- image-path: chemin vers une image dans les données
- image-max-size: coté du carré dans lequel elle sera inscrite. Exemple: 100px
si un champ est vide
- col-empty: contenu d'un champ si vide u égal à zéro. ex: colname:none, ...
habillage du bloc retourné
- id: identifiant
- tag: balise pour bloc principal
- class: classe(s) ou style inline pour bloc principal
- style: classe(s) ou style inline pour bloc principal
- css-head (base-css): style ajouté dans le HEAD de la page
cache interne
- cache-delay = 30: durée du cache en minutes. 0 pas de cache
Un exemple simple
Nous voulons afficher la population d'une ville française en utilisant les données fournies le site geo.api.gouv.fr
Le contenu du fichier distant (avec les actions data2list et treeview)
- 0
- nom: Ceyreste
- code: 13023
- codeDepartement: 13
- siren: 211300231
- codeEpci: 200054807
- codeRegion: 93
- codesPostaux
- 0: 13600
- population: 4729
- 1
- nom: La Ciotat
- code: 13028
- codeDepartement: 13
- siren: 211300280
- codeEpci: 200054807
- codeRegion: 93
- codesPostaux
- 0: 13600
- population: 35993
Le résultat
La ville de Ceyreste (13600) a 4729 habitants
Le shortcode
{up data-info=https://geo.api.gouv.fr/communes?codePostal=13600}
La ville de [b]##nom##[/b] (##codesPostaux/0##) a ##population## habitants
{/up data-info}
L'option principale du shortcode est l'url vers les données que l'on peut voir au-dessus dans sa forme brute grâce à l'action data2list.
Le modèle de mise en page pour le retour est le contenu entre les shortcodes. Il peut également être indiqué avec l'option template.
Le nom des champs est indiqué entre des doubles dièses. Pour le code postal qui est le premier champ du champ "codesPostaux", on indique le chemin en séparant les éléments par des slash. Le html et bbcode sont acceptés.
Avec des options
Dans l'exemple précédent, comme nous n'avons pas précisé la ligne d'informations recherchée, data-info a pris la première ligne des données. Il n'est pas possible de cibler plusieurs lignes. Pour avoir les infos de la dernière ligne, nous utiliserons l'option lign-select=-1
. Plus d'informations sur les options des 3 actions data
Le shortcode
{up data-info=images/actions-demo/data/communes-13600.json
| lign-select=-1
| template=La ville de [b]##nom##[/b] (##codesPostaux/0##)##population##.
| col-type=population:" a ##num## habitants"}
Le résultat
La ville de La Ciotat (13600) a 35 993 habitants.C'est une nouveautés de la version 3.0 de UP qui permet d'ajouter des espaces au début ou à la fin des arguments des options.
L'option col-type contient l'ensemble du texte qui sera affiché.
Le mot-clé ##num##
affiche la valeur de "population" avec un espace tous les milliers.
Si la valeur est zéro ou vide, rien ne sera affiché. Il est possible d'indiquer un texte dans ce cas avec l'option col-empty. Exemple: col-empty=population:" n'a aucun habitant"
upactionslist (1) flexauto (3) modal (3) icon (2) treeview (1) data2list (1) data-info (2) div (1) jcontent-info (1)