Vous pouvez obtenir la liste des produits en utilisant getProducts()
puis utiliser SimpleXMLElement pour générer du XML.
include('config/config.inc.php');
include('init.php');
$productObj = new Product();
$products = $productObj -> getProducts($id_lang, 0, 0, 'id_product', 'DESC');
$xml = new SimpleXMLElement('<xml/>');
foreach($products as $product) {
$productXml = $xml->addChild('product');
$productXml->addChild('id', $product->id);
$productXml->addChild('name', $product->name);
$productXml->addChild('description', $product->description);
}
Header('Content-type: text/xml');
print($xml->asXML());
sortie sera ..
<xml>
<product>
<id>ID</id>
<name>NAME</name>
<description>DESCRIPTION</description>
</product>
<product>
<id>ID</id>
<name>NAME</name>
<description>DESCRIPTION</description>
</product>
...
...
...
</xml>
voir fonction Description getProducts()
dans les classes/product.php de connaître les paramètres.
/**
* Get all available products
*
* @param integer $id_lang Language id
* @param integer $start Start number
* @param integer $limit Number of products to return
* @param string $order_by Field for ordering
* @param string $order_way Way for ordering (ASC or DESC)
* @return array Products details
*/
public static function getProducts($id_lang, $start, $limit, $order_by, $order_way, $id_category = false,
$only_active = false, Context $context = null) {...}
Vous pouvez placer le fichier xml.php avec dans votre répertoire racine prestashop et peut accéder à ce xml en vous rendant ou l'envoi à la demande yourdomain.com/xml.php
.
Ou si vous voulez créer votre module pour xml alors vous devez placer le code dans votre contrôleur frontal et ensuite vous pouvez accéder au fichier xml en visitant yourdomain.com/index.php?fc=module&module=<ModuleName>&controller=<XMLFunction>
. Lire Prestashop Documentation pour en savoir plus sur la structure du module prestashop.
Salut, merci beaucoup pour la réponse, mais il me manque autre chose - comment créer dans l'adresse de point de terminaison de module où sera disponible XML? Par exemple. une URL avec mon XML existera. –
Réponse mise à jour. – Sama
Merci beaucoup, vous avez sauvé ma journée :) –