Introduction osFranchise récupère les catégories et produits de votre boutique grâce à une communication au format XML. Cela signifie qu’il va falloir que vous mettiez en place sur votre boutique les flux XML suivants : - Flux XML des produits - Flux XML des univers et catégories contenant vos catégories/produits - Flux XML des pages statiques (informations légales, conditions générales de vente, livraisons) Ces 3 flux doivent être présents sur votre boutique et accessibles directement depuis un navigateur internet. Par ex : http://www.ma_boutique.com/xml.products.php. De plus, ces flux XML sont standardisés : chaque flux a une syntaxe précise que vous devez respecter. Nous allons maintenant voir le détail de la syntaxe de chaque flux. Flux XML : syntaxe générale Chaque flux XML doit commencer par l’en-tête :
<?xml version="1.0" encoding="UTF-8" ?> <items>
Et chaque flux se termine simplement par :
</items>
Entre les balises <items> et </items> va venir se placer le contenu que nous allons détailler pour chaque flux XML à implémenter. De plus les balises <![CDATA[texte]]> permettent de mettre du contenu texte dans le flux XML. Flux XML : encodage des caractères Tous les flux XML doivent être encodés avec le jeu de caractères UTF-8.
Les Flux XML de votre boutique 1. Flux XML des produits Voici le format XML d’un produit :
<product> <id>143</id> <category_id>12</category_id> <name><![CDATA[Tee-shirt vert]]></name> <description> <![CDATA[Tee-shirt vert 100% coton]]> </description> <price>29.90</price> <availability> <![CDATA[0]]></availability> <image>http://www.ma_boutique.com/picture/143.jpg</image> <thumbnail> http://www.ma_boutique.com/picture/143thumb.jpg</thumbnail> <attribute> <id>485</id> <name> <![CDATA[Taille]]> </name> <option> <id>74</id> <value><![CDATA[S/M]]></value> </option> <option> <id>75</id> <value><![CDATA[M/L]]></value> </option> </attribute> </product>
Chaque produit doit obligatoirement définir les champs suivants : - id : identifiant unique base de données du produit - category_id : identifiant unique base de données de sa catégorie - name : nom/titre du produit - description : texte descriptif - price : prix TTC en euros du produit - availability : disponibilité : 1= disponible, 0=non disponible - image : url complète de l’image grand format du produit - thumbnail : url complète de l’image petit format du produit La balise « attribute » et son contenu sont optionnels. Ils permettent de spécifier des attributs spécifiques à ce produit. Par exemple, un produit peut être disponible en plus coloris : il y a donc un attribut couleur et plusieurs options de couleur. On remarque que les attributs sont définis pour chaque produit entre les balises <product> et </product> Un produit peut avoir plusieurs attributs et chaque attribut peut avoir plusieurs options (au moins une). Un attribut doit obligatoirement avoir les champs suivants : - id : identifiant unique base de données de l’attribut - name : nom de l’attribut (couleur, taille, capacité…) Un attribut possède une à plusieurs options. Une option doit obligatoirement définir les champs suivants : - id : identifiant unique base de données - value : valeur de l’option (noir, bleu, 36/38, 40, beige…) 2. Flux XML des univers et catégories osFranchise fonctionne avec des univers et catégories. Les univers ne contiennent que des catégories, et les catégories ne contiennent que des produits. Ex : univers « lingerie », avec les catégories « string », « soutien-gorge ».
<universe> <id>1</id> <name>Lingerie</name> <category> <id>1</id> <name><![CDATA[String]]></name> <description><![CDATA[]]></description> </category> … </universe>
Un univers doit obligatoirement définir les champs : - Id : identifiant unique base de données - Name : nom de l’univers Un univers contient une ou plusieurs catégories : un univers au format XML englobe donc les catégories qu’ils contient. Dans l’exemple ci-dessus, l’univers « Lingerie » avec l’id 1 contient une categorie nommée « String » avec l’id 1. La catégorie, bien que n’ayant pas de description, possède tout de même la balise XML « description ». Une catégorie doit obligatoirement définir les champs suivants : - Id : identifiant unique base de données - Name : nom de la catégorie - Description : description facultative de la catégorie Une catégorie est obligatoirement définie dans un univers. 3. Flux XML des pages <page> <id> <name><![CDATA[Conditions générales de vente]]></name> <description> <![CDATA[…]]> </description> <keywords>keyword, my keyword</keywords> </page>
Une page doit obligatoirement définir les champs suivants : - Id - Name - Description - Keywords Chaque champ doit obligatoirement être présent même s’il est vide. 4. Ou placer les flux XML sur votre boutique ? Récapitulons : votre boutique doit disposer de 3 flux XML : - Flux des univers et catégories - Flux des produits - Flux des pages La seule contrainte qui doit être obligatoirement respectée c’est que ces flux XML soient directement accessibles depuis un navigateur internet sur votre boutique. Ex : http://www.aiko.fr/bee-riche/xml.categories.php Par convention, il est préférable de créer un dossier « bee-riche » à la racine de votre boutique et de placer les flux à l’intérieur avec les noms suivants : - Produits : xml.products.php - Univers et catégories : xml.categories.php - Pages : xml.pages.php
Ainsi, tous vos flux sont accessibles depuis www.ma_boutique.com/bee-riche/xml.xxxxxx.php. Ce sont uniquement des conventions que vous n'êtes pas tenu de respecter.
|