Bonjour j’ai un fichier XML que je récupère et lis sur une page.
Il s’agit de séjours pour lesquels une date de départ et un prix est fourni.
J’aimerais classer les données dans un tableau afin de pouvoir trier les éléments. (par date / par prix)
Le tri par par ID fonctionne, c’est la première valeur de mes tableaux mais les sous-valeurs (prix_minimum et date), je n’arrive pas à accéder à leur contenu et à les classer : https://www.fuguesenmontagne.com/spip.php?page=XML
J’ai laissé la structure XML apparente afin d’avoir l’arborescence.
J’imagine entrer mes valeurs dans un #ARRAY puis trier avec #LISTE
Merci d’avance !
SET{defaut_tri,
#ARRAY{
id,-1,
prix_minimum,1
}}
<B_fin>
<p>#TRI{id,'Trier par id',ajax}| #TRI{prix_minimum,'Trier par prix_minimum',ajax} </p>
<BOUCLE_fin(DATA){source table, #VALEUR}{datapath /0}{tri id,#GET{defaut_tri}}>
Euh je pige peut être pas bien mais là tu met une balise #VALEUR dans les critères définissant la boucle, alors que cette balise sert à fournir une des valeurs que la boucle doit retourner et doit donc être appelé dans le corps de la boucle. Ou alors c’est une #VALEUR de la boucle englobante ??? Mais non, il faut remplir ton tableau, fermer la boucle DATA xml et en ouvrir une autre sur le tableau. Difficile de savoir tu ne donnes pas assez de code là.
Mais peut être tu peux éviter de passer par un tableau intermédiaire ?
Il y a un exemple dans la doc de boucle DATA xml : Exemples de BOUCLE(DATA) - SPIP Il faut donc <BOUCLE_xml(DATA){source xml, tonfichierxml.xml}...
Sinon ya aussi le plugin Itérateur simplexml - Plugins SPIP … mais je ne sais pas ce qu’il apporte en plus par rapport à ce qu’il y a déjà dans le SPIP de base et je me demande quel est son intérêt maintenant que la boucle DATA est dans le noyau.
Bonjour Jean-Luc, je mets le code complet ci-dessous. J’ai écumé les pages de la doc consacrés à la boucle DATA et j’épluche celles consacrés à la balise #ARRAY.
Tout le site https://www.fuguesenmontagne.com est conçu là-dessus. J’arrive à afficher un certain type d’infos, à le mettre en page ect…
Mais je ne comprends pas comment on rentre les infos de prix et de date de départ dans un tableau afin de classer selon ces critères. Je vois bien mon tableau avec ARRAY et de sous-tableaux qui affichent en particulier les prochains départs et les prix minimum mais il faut que les fasse rentrer dans des cases ! https://www.fuguesenmontagne.com/spip.php?page=XML
Finalement la solution que j’ai trouvé est d’utiliser un tableau dans lequel je rentre mes données et je les classe grâce au plugin Tablesorter https://contrib.spip.net/Tablesorter-pour-SPIP
Une fois le plugin Tablesorter installé.
Je l’appelle avec inclure/head
puis je range les valeurs de mon flux XML dans les colonnes correspondantes ainsi