Bonjour,
je suis en train de développer un moteur de recherche sur un site de e-commerce fonctionnant sous PrestaShop.
J'aimerais afficher les résultats d'une requête en Ajax. Lors d'une requête vers les bases de données, j'obtiens un Array, que je convertis avec json_encode() pour obtenir une chaîne telle que celle-ci :
Cette chaîne est donc composée de plusieurs tableaux, contenant chacun plusieurs attributs et caractéristiques de chaque produit correspondant à la recherche de l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 [ { "id_product":"40", "id_category_default":"20", "id_tax":"1", "quantity":"2", "price":"125.418060", "reduction_price":"0.00", "reduction_percent":"0", "reduction_from":"2010-06-03 00:00:00", "reduction_to":"2010-06-03 00:00:00", "active":"1", "id_product_attribute":"396", "description_short":"<p>L'horloge à tubes imite les horloges à tubes Nixie, revisitées avec un affichage led de qualité.<\/p>", "available_now":"", "available_later":"", "link_rewrite":"horloge-a-tubes", "meta_description":"", "meta_keywords":"", "meta_title":"", "name":"Horloge \u00e0 Tubes", "id_image":"128", "legend":"Horloge \u00c3\u00a0 Tubes", "tax_name":"TVA 19.6%","rate":"19.600", "category_default":"10.Cadeau Design", "new":"0", "orderprice":"149.99999976" }, { ... } ]
Dans un premier, j'aimerais savoir comment, par exemple, afficher certaines informations "brut". Par exemple, à partir du résultat ci-dessous, j'aimerais obtenir :
Horloge à Tubes
L'horloge à tubes imite les horloges à tubes Nixie, revisitées avec un affichage LED de qualité.
125.418060
Ce qui revient à avoir les informations
name
description_short
price
J'ai déjà ma fonction loadJSON qui ressemble à ceci (qui se charge de récupérer soit un fichier JSON, soit une variable JSON, d'aller chercher des infos dedans et de les afficher) :
Voilà, donc principalement un problème de "formatage" des données, j'imagine. N'hésitez pas à me demander des trucs si j'ai mal expliqué, et merci d'avance pour vos réponses !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function loadJSON(fname) { var xhr=createXHR(); xhr.open("GET", fname,true); xhr.onreadystatechange=function() { if (xhr.readyState == 4) { if (xhr.status != 404) { var data=eval("(" + xhr.responseText + ")"); for(i = 0; i < 3; i++) { //QUE METTRE ICI ? } } else { document.getElementById("zone_de_resultats").innerHTML = fname + " not found"; } } } xhr.send(null); }
Partager