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

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

Andrijk
Andrijk
Репутация: 1
Сообщения: 44
Зарегистрирован: 12.02.2019
С нами: 5 лет 1 месяц

Сообщение #1 Andrijk » 17.11.2019, 16:25

Добрий день

Потрібна допомога 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>";




?>

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #2 zyxer » 25.11.2019, 14:07

вам было бы проще переделать feed.php там (на сколько я вижу) пару тегов переименовать, все данные уже есть
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 38 гостей