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 codecol-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 codecol-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
✔
✔ - 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/
ouhttps://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
- data2list : bbcode avec les mots-clés ##LABEL## et ##VALUE##
- 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