Bonjour,
Je genère donc un flux XML à partir de commande.
Je viens d'apporter des mofications à celui-ci pour que l'une des balises prennent en compte une indication selon certain critères :
Une commande contient des produits, les produits appartiennent à des familles.
Des familles sont dites sensibles et d'autres non donc il faut que dans le flux généré à la balise concernée l'indication précise si il s'agit d'un produit sensible ou non.
Le script d'origine n'est pas de moi, je viens donc apporter une modification pour obtenir ce que je veux.
J'ai donc repéré dans le script la partie ou je dois faire ma modification (Soit la balise Produit) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if($catPere != 809) { $iProd++; $fianetXML2 .= "\t\t\t<produit type=\"".$intTypeProduit."\" ref=\"".$order->products[$i]['model']."\" >".$strLibelle." ".$order->products[$i]['name']."</produit>\n"; }
Ma modification :
Lorsque que je simule une commande jusqu'a la génération de ce flux qu'il s'agisse d'une commande avec un produit sensible ou une autre avec un produit non sensible l'indication "non risque" n'apparaît pas
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 $produitsensible = array('PHOT', 'INFO', 'HFES', 'HFCH', 'GSM', 'CASQ', 'CAME', 'AUDI', 'TELE', 'TFIX', 'TGSM'); if($catPere != 809) { $strReqCateg = "SELECT famille FROM products p, products_erp_data pe WHERE p.products_ean = pe.ean AND p.products_id = ".$order->products[$i]['id']; $sensible= false; $req = mysql_query($strReqCateg); if ($res = mysql_fetch_row($req)){ if (in_array($res['famille'], $produitsensible)) $sensible = true; } $iProd++; $fianetXML2 .= "\t\t\t<produit type=\"".$intTypeProduit."\" ref=\"".$order->products[$i]['model']."\">".($sensible)?"":"non risque".$strLibelle." ".$order->products[$i]['name']."</produit>\n"; }
une idée ?
Merci
Partager