ИП Горелов Максим Николаевич 8 (915) 093-74-75
Получение товаров из категории на сайте Webasyst (Shop-Script)
Функция позволяет получить список товаров из указанной категории на сайте, работающем на платформе Webasyst. Вы можете указать URL сайта, ID категории, а также параметры для пагинации.
Для работы требуется создать в корне сайта файл `get_products.php` со следующим кодом:
```
<?php
// Подключение к Webasyst
require_once($_SERVER['DOCUMENT_ROOT'].'/wa-config/SystemConfig.class.php');
waSystem::getInstance(null, new waSystemConfig());
// Инициализация приложения Shop
wa('shop');
// Функция для получения товаров из категории
function getProductsByCategory($category_id, $limit = 10, $offset = 0) {
$collection = new shopProductsCollection('category/'.$category_id);
$products = $collection->getProducts('*', $offset, $limit);
$result = array();
foreach ($products as $product) {
// Получаем полный URL изображения
$image_url = '';
if ($product['image_id']) {
$image = shopImage::getById($product['image_id']);
if ($image) {
$image_url = $image->getUrl('thumb', true); // true для получения абсолютного URL
}
}
$result[] = array(
'id' => $product['id'],
'name' => $product['name'],
'price' => $product['price'],
'description' => $product['description'],
'image_url' => $image_url,
);
}
return $result;
}
// Обработка запроса
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$category_id = isset($_GET['category_id']) ? intval($_GET['category_id']) : 0;
$limit = isset($_GET['limit']) ? intval($_GET['limit']) : 10;
$offset = isset($_GET['offset']) ? intval($_GET['offset']) : 0;
if ($category_id > 0) {
$products = getProductsByCategory($category_id, $limit, $offset);
header('Content-Type: application/json');
echo json_encode(array(
'status' => 'success',
'data' => $products
));
} else {
header('HTTP/1.1 400 Bad Request');
echo json_encode(array(
'status' => 'error',
'message' => 'Inva.
```
Параметры, которые можно передать в функцию get_products_webasyst:
site_url - URL сайта без / в конце.
category_id - ID категории товаров, из которой вы хотите получить информацию.
limit - количество товаров для получения.
offset - смещение для пагинации, указывает, с какого товара начинать выборку.
Примеры использования:
"Пожалуйста, покажи мне 10 товаров из категории с ID 5 на сайте https://example.com, начиная с первого товара."
© ProTalk 2023-2025 ИП Горелов Максим Николаевич ИНН 500104951533 ОГРН 309500106900065
Новая, 8, 9 Реутов, Московская область 143964 Россия