Informations communes aux 3 actions data...

Une option non disponible est signalée par un badge rouge contenant le nom de l'action.

Les fichiers de données admis

Les actions file-info, file2list et file2table supportent 3 formats de données : JSON, XML et CSV

Plus d'informations sur la structure des données et leur prise en charge par les actions UP

Dans mes explications pour les démos, j'utilise ces termes qui peuvent convenir pour les 2 types de données

  • données, fichier : toutes les données à disposition
  • ligne : contient plusieurs informations concernant la même entité
  • colonne : l'ensemble des informations de même nature
  • cellule, champ, élément : une information composée d'un label (titre de la colonne) et d'une valeur

option principale
l'URL ou le chemin du fichier de données.

En cas de doute sur la conformité du fichier, vous pouvez le valider à l'aide de ces sites : Données XML / Données JSON.
Pour consulter l'intégralité du contenu, utilisez l'action data2list avec uniquement le chemin vers les données.
Ce n'est pas forcément très joli, mais vous verrez l'intégralité des données ainsi que sa structure.

datatype
UP sait reconnaitre le type de données, mais vous pouvez le forcer en indiquant : json, xml ou csv)

encoding
L'action prend en charge les fichiers avec un encodage UTF-8. Si vos données sont dans un autre format, il suffit de l'indiquer avec cette option. Exemple : ISO-8859-1

Spécifique aux données CSV

csv-header
uniquement pour les fichiers CSV, cette option permet d'indiquer si la première ligne du fichier contient les titres des colonnes (0=non, 1=oui). Oui par défaut

csv-header-title
uniquement pour les fichiers CSV, vous pouvez indiquer les titres des colonnes séparés par le caractère spécifié dans l'option csv-separator.

Ce contenu remplacera les titres du fichier, un moyen rapide de renommer les colonnes.
Si aucun titre n'est fourni, les colonnes seront nommées col-1, col-2, ....

csv-separator
le caractère utilisé pour séparer les colonnes dans le fichier CSV

Spécifique aux données XML

xml-attributes
Le format XML permet de mettre des informations (label:valeur) dans la balise ouvrante d'une ligne. 
Exemple: 

<trkpt lat="48.404950" lon="2.720740">
   <ele>78.1</ele>
</trkpt>

0= les informations sont considérées comme des colonnes de la ligne (par défaut)
Pour y accéder, il faut spécifier le chemin : trkpt/lat

1 = les informations sont mises comme contenu d'un sous-tableau "@attributes".
Pour y accéder, il faut spécifier le chemin : trkpt/@attributes/lat

Gestion du cache interne

Pour limiter les appels à un site externe, UP peut en conserver une copie durant un certain temps.

cache-delay
durée du cache en minutes. 0 pas de cache, Par défaut: 30

La sélection des lignes

lign-root
Les fichiers JSON et XML pouvant contenir différents groupes d'informations, il est nécessaire de définir quelle partie nous intéresse.
Il faut mettre comme argument la liste des labels de colonnes séparée par des barres de division (slash).

Cette option est utile lorsque la source de données contient plusieurs groupes d'informations. Ce qui est le cas des fichiers gpx qui utilisent le format XML.

Exemple pour cibler uniquement la partie points d'intérêts

lign-root=trk/trkseg/trkpt
lign-select
L'option lign-select propose 2 méthodes pour sélectionner une ou plusieurs lignes.

Afficher les lignes contenant la valeur recherchée pour un ou plusieurs champs.

L'argument de lign-select est une liste de champ:valeur séparée par des virgules. lign-select=key:value, ... ,keyN:valueN
Toutes les lignes qui répondent à tous les critères (opérateur AND) seront sélectionnées.
Plusieurs valeurs séparées par un point-virgule sont considérées comme des alternatives (opérateur OR)
La recherche est sensible aux minuscules/majuscules pour les clés, mais pas pour les valeurs.

Exemple pour tous les "Jean" ou les "Paul" ayant une voiture "Opel"

lign-select=prenom:Jean;Paul , voiture:Opel

Afficher des lignes selon leur indice.

Il est possible d'indiquer la position de la ligne dans le fichier. La première ligne est 1.
Pour avoir les dernières lignes, il suffit d'indiquer la position en valeur négative. La dernière ligne est -1

Exemple pour la première, deuxième et dernière ligne :

lign-select=1,2,-1

La sélection des colonnes

col-include
data-info
Affiche uniquemment les colonnes dont le label est dans la liste (séparateur: virgule)
Exemple: avoir uniquement les champs nom et code

col-include=nom, code
col-exclude
data-info
N'affiche pas les colonnes spécifiées dans la liste (séparateur: virgule)
Exemple: avoir tous les champs sauf nom et code

col-exclude=nom, code

Ces options n'ont pas de raison d'exister pour l'action data-info

Mise en forme des champs

col-class
data-info
pour attribuer une ou plusieurs classes à une colonne, il suffit d'indiquer son nom, 2 points et la ou les classes

Exemple pour mettre en gras et bleu le champ "Nom" et en vert le champ "Age"

col-class=Nom:t-blue b, Age:t-green
col-label
data-info
par défaut, le nom du champ est utilisé pour l'affichage. Pour le changer, il suffit d'indiquer le nom du champ, 2 points et le nom à afficher

Exemple pour renommer codePostal en CP et departement en Dpt

col-label=codePostal:CP, departement:Dpt
col-type
cette option permet d'enrichir la valeur affichée dans un champ. Il faut indiquer le nom du champ, deux-points et une des valeurs ci-dessus.

  • le mot date : affiche une date selon le format indiqué par l'option date-format
  • le mot boolean : améliore l'affichage d'une valeur logique. Voir boolean-in et boolean-out
  • le mot url : affiche un lien hypertext avec ouverture selon l'option url-target
  • le mot image : affiche le contenu du champ comme une image. Voir image-path et image-max-size
  • le mot compact : les valeurs d'un tableau seront affichés dans une chaine. les tableaux multidimensionnels sont pris en charge.
  • contient un signe pourcentage est comprise comme l'argument format de la fonction php sprintf.
    exemple: si la valeur est 18,  %s ans affiche 18 ans. %04d affiche 0018. %.2f€ affiche 18.00€
    le bbcode est admis. [b class="t-blue"]%s[/b] ans affiche 18 ans
  • contient ##num## qui sera remplacé par la valeur numérique formattée par milliers.Si la valeur possède des décimales, un arondi à 2 décimales sera appliqué.
    le séparateur des milliers est un espace et le séparateur décimal un point. Il n'est pas possible de les modifier.
    exemple: pour une valeur de 1234.56 et un col-type ##num## €  , on affiche 1 234.46 €
  • commence par MASK. suivi du masque d'affichage dont les signes dièse seront remplacés par les lettres et chiffres de la valeur. Attention à la conception du masque pour gérer les différents cas.
    Valeur dans données avec le masque phone: (#)#-##-##-##-##
    01.02.03.04.05 phone: (0)1-02-03-04-05
    01.02 phone: (01-02
    01.02.03.04.05.06 phone: (010)2-03-04-05-06

Si la valeur n'est pas d'un type reconnu, elle sera affichée sans modification.

date-format
un champ de type date utilise ce format. Par défaut : %e %B %Y
%y: AA, %Y: AAAA, %m: 01-12, %b: mois 3 lettres, %B: nom mois, %d: 01-31, %e: 1-31, %a: joursem 3 lettres, %A: jour sem, %U: N° semaine, %l: heure (1-12) AM/PM - L min, %I: heure (01-12) AM/PM - i maj, %k: heure (0-23), %H: heure (00-23), %P: am/pm, %p: AM/PM, %M: minute (00-59)
boolean-in
les valeurs, séparées par des virgules, dans le fichier de données pour indiquer les états : vrai, faux et non défini. Par défaut : 1,0,
boolean-out
valeurs affichées pour représenter en sortie les valeurs true,false,null.
par defaut : lang[fr=oui,non,-; en=yes,no,n.a.]

Exemple : {up icon=Ux2714},[span class=t-red]non[/span], NC

Attention: L'utilisation d'une action dans le fichier custom/pref.ini n'est pas possible. Utilisez l'entité HTML, soit &#x2714;

url-target
un champ de type url utilise cette valeur pour définir la cible où ouvrir le lien : _blank ou _self
image-path
Utilisez cette option si un champ contient le nom d'un fichier image sans définir son emplacement.
Exemple: images/  ou https://site.fr/images/
image-max-size
pour s'assurer que l'image ne sera pas trop grande, vous pouvez définir la dimension du coté du carré dans lequel elle sera inscrite. Exemple: 100px
col-empty
texte affiché pour une valeur vide ou égale à zéro pour une colonne. Exemple: prix:gratuit, quantité:en rupture.
col-empty-invisible
data2table
data-info
0: (par défaut) les champs (label+valeur) dont la valeur est vide seront affichés. 1 pour les masquer.
model
data2list
data-info
disponible pour l'action data2table, cette option recoit une des classes du fichier data2table.css : noborder, line, blue ou green
template
data2table
définit la présentation du champ.

  • data2list : bbcode avec les mots-clés ##LABEL## et ##VALUE##
    Exemple: [i class="t-gris"]##LABEL##:[/i] ##VALUE## pour le label en italique et gris
  • data-info : le label des champs est utilisé comme mot-clé.
    Exemple : [b]##prenom## ##nom##[/b] a ##age## ans
array-subtitle
data2table
data-info
cette option permet de remplacer l'indice de la ligne  d'un tableau par une ou plusieurs des valeurs de cette ligne.
Exemple : array-subtitle=root:##class##, eleves:[b]##nom## ##prenom##[/b]
Pour le premier niveau de l'arborescence (root), on affiche le contenu du champ class. Pour le sous-tableau "eleves", on affiche les nom et prénom de ceux-ci

Mise en forme générale

model
data2list
data-info
Uniquement pour data2table, une des classes "modèle" du fichier data2table.css : noborder, line, blue, green
id, class, style
ID, styles et classes pour le bloc principal
css-head
style CSS ajouté dans le HEAD de la page