Страница 1 из 1

Вивести характеристики товарів

Добавлено: 17.11.2019, 16:25
Andrijk
Добрий день

Потрібна допомога Php

формую xml файл для вигрузки товарів на prom.ua
версія okay-cms v.2.3.2
структуру файлу взяв з sitemap

всі дані вдалось вигрузити крім характеристик
буду вдячний за підказку як вивести характеристики товару та назву бренду

заодно викладаю майже готове рішення для швидкого імпорту товарів на маркетплейс prom.ua)

Код: Выделить всё

<?php

header('Content-type: text/xml');

echo "<yml_catalog >\n";
echo "<date>" . date("Y-m-d h:i:s") . "</date>";
echo "<shop>\n";
echo "<name>Svitkaminiv</name>";
echo "<company>Svitkaminiv</company>";
echo "<url>svitkaminiv.com.ua</url>";
echo "<currencies>";
echo "<currency id='UAH' rate='1'/>";
echo "<currency id='EUR' rate='27'/>";
echo "</currencies>";
echo "<categories>";
echo "<category id='32'>Каминные топки</category>";
echo "<category id='33' parentId='32'>Прямые каминные топки</category>";
echo "<category id='35' parentId='32'>Угловые каминные топки</category>";
echo "<category id='36' parentId='32'>Трехсторонние каминные топки</category>";
echo "<category id='37' parentId='32'>Призматичные каминные топки</category>";
echo "<category id='38' parentId='32'>Кассетные каминные топки</category>";
echo "<category id='39' parentId='32'>Тунельные каминные топки</category>";
echo "<category id='64' parentId='32'>Радиальные каминные топки «360+»</category>";
echo "<category id='74' parentId='32'>Центральные каминные топки</category>";
echo "</categories>";

echo "<items>";
require_once('api/Okay.php');
$okay = new Okay();
$okay->db->query("SELECT * FROM ok_products WHERE (brand_id=16) AND (visible=1)");
$products = $okay->db->results();

foreach($products as $prd) {
   echo "<item id='12$prd->id' selling_type='r' available='true'>\n";
   echo "<name>$prd->name </name>\n";
   echo "<categoryId>$prd->main_category_id</categoryId>\n";
   echo "<portal_category_id>136404</portal_category_id>\n";
   echo "<portal_category_url>https://prom.ua/Topka-kaminnaya</portal_category_url>\n";
   
   
   
   $okay->db->query("SELECT * FROM ok_variants WHERE product_id = ?", $prd->id);
   $variants = $okay->db->results();
   
   foreach($variants as $var) {
   echo "<priceeur>$var->price</priceeur>\n";
   }
   
   $okay->db->query("SELECT * FROM ok_images WHERE product_id = ?", $prd->id);
   $images = $okay->db->results();
      
   foreach($images as $img) {
      echo "<image>https://kamin.cn.ua/files/originals/$img->filename</image>";
   }
   echo "<vendor>KaminDe</vendor>";
   echo "<stock_quantity>$var->stock</stock_quantity>\n";
   echo "<name>$prd->name </name>\n";
   echo "<description><![CDATA[$prd->description]]></description>\n";
      
   $okay->db->query("SELECT * FROM ok_products_features_values WHERE product_id = ?", $prd->id);
   $products_features_values = $okay->db->results();
   
   foreach($products_features_values as $opt) {
      
   $okay->db->query("SELECT * FROM ok_features WHERE id = ?", $opt->value_id);
   $features = $okay->db->results();
   foreach($features as $fet) {
   echo "<param name='$fet->name'>$opt->value_id</param>";
      }
   
   }
   echo "<url>https://kamin.cn.ua/products/$prd->url</url>\n";
   echo "<currencyId>EUR</currencyId>\n";
   echo "<categoryId>$prd->main_category_id</categoryId>\n";
   echo "</item>\n";
}
echo "</items>";
echo "</shop>";
echo "</yml_catalog>";




?>

Добавлено: 25.11.2019, 14:07
zyxer
вам было бы проще переделать feed.php там (на сколько я вижу) пару тегов переименовать, все данные уже есть