Создание XML-фида экспорта в PrestaShop

Создание XML-фида экспорта в PrestaShop

21.09.2017 07:38:14 Просмотров 67 Источник

может кто-нибудь направить меня к некоторой документации, как создать пользовательский XML-канал в PrestaShop 1.6+. Я искал официальную документацию, но не нашел того, что мне было нужно.

Задача проста-создать пользовательский XML-канал, из которого может другой интернет-магазин берет продукты.

У вопроса есть решение - Посмотреть?

Ответы - Создание XML-фида экспорта в PrestaShop / Create XML export feed in PrestaShop

Является ответом!
Sama

22.09.2017 01:13:32

Вы можете получить список продуктов с помощью getProducts(), а затем использовать SimpleXMLElement для создания 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());

Выход будет..

<xml>
   <product>
         <id>ID</id>
         <name>NAME</name>
         <description>DESCRIPTION</description>
   </product>
   <product>
         <id>ID</id>
         <name>NAME</name>
         <description>DESCRIPTION</description>
   </product>
   ...
   ...
   ...
</xml>

см. описание функции getProducts()в разделе классы/продукт.php, чтобы узнать о параметрах.

/**
* 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) {...}

Вы можете разместить xml.php-файл с корневым каталогом prestashop и может получить доступ к этому xml, посетив или отправив запрос на yourdomain.com/xml.php.

Или если вы хотите создать свой модуль для XML, то вы должны разместить код в ваш фронт-контроллера, а затем вы можете получить доступ к XML-файл, посетив yourdomain.com/index.php?fc=module&module=<ModuleName>&controller=<XMLFunction>. Ознакомьтесь с документацией Prestashop, чтобы узнать больше о структуре модуля prestashop.

https://stackoverflow.com/questions/46349058/create-xml-export-feed-in-prestashop/46353937#comment79680088_46353937
Привет, большое спасибо за ответ, но мне не хватает другой вещи - как создать в модуле адрес конечной точки, где будет доступен XML? Например, какой-то URL с моим XML будет существовать.
https://stackoverflow.com/questions/46349058/create-xml-export-feed-in-prestashop/46353937#comment79698954_46353937
Ответ Обновлен.
https://stackoverflow.com/questions/46349058/create-xml-export-feed-in-prestashop/46353937#comment79703150_46353937
Спасибо большое, вы спасли мой день :)
Закрыть X