ИП Горелов Максим Николаевич 8 (915) 093-74-75
Поиск товаров на сайте Joomla
Функция позволяет получить список продуктов из Joomla, отфильтрованных по заданным параметрам. Это может быть полезно для интеграции с интернет-магазинами на платформе Joomla.
Для работы функции создайте файл `search_products.php` в корне вашего сайта:
```
<?php
// search_products.php
$BOT_API_KEY = 'XXXXXXXXXXXXXXXXXX';
$IMG_URL = 'https://site.ru/';
header('Content-Type: application/json; charset=utf-8');
ini_set('display_errors', 0);
function getParam($name, $default = null) {
if (!isset($_GET[$name])) {
return $default;
}
$value = urldecode($_GET[$name]);
return htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
}
$product_name = getParam('product_name');
$category = getParam('category');
$min_price = getParam('min_price');
$max_price = getParam('max_price');
$limit = getParam('limit', 10);
$api_key = getParam('api_key');
if ($api_key !== $BOT_API_KEY) {
http_response_code(403);
echo json_encode(['error' => 'Wrong API key']);
exit;
}
define('_JEXEC', 1);
define('JPATH_BASE', __DIR__);
require_once JPATH_BASE . '/includes/defines.php';
require_once JPATH_BASE . '/includes/framework.php';
$app = JFactory::getApplication('site');
$db = JFactory::getDbo();
$prefix = $db->getPrefix();
$query = $db->getQuery(true);
$query->select('p.virtuemart_product_id, p.product_name, pp.product_price, c.category_name, m.file_url')
->from($db->quoteName($prefix . 'virtuemart_products_ru_ru', 'p'))
->join('INNER', $db->quoteName($prefix . 'virtuemart_product_prices', 'pp') . ' ON p.virtuemart_product_id = pp.virtuemart_product_id')
->join('INNER', $db->quoteName($prefix . 'virtuemart_product_categories', 'pc') . ' ON p.virtuemart_product_id = pc.virtuemart_product_id'.
Параметры, которые можно передать в функцию get_filtered_joomla_products:
joomla_url - URL Joomla сайта. Указывает адрес сайта, с которого необходимо получить данные.
joomla_api_key - API ключ для доступа к Joomla. Указывает ключ, необходимый для аутентификации при запросе данных.
product_name - ключевая фраза для поиска по названию товара/услуги.
category - ключевая фраза для поиска по категории товара/услуг.
min_price - минимальная цена продукта. Указывает нижнюю границу цены для фильтрации.
max_price - максимальная цена продукта. Указывает верхнюю границу цены для фильтрации.
limit - максимальное количество возвращаемых продуктов. По умолчанию равно 10.
Примеры использования:
При поиске товаров на сайте передавай так параметры поиска:
Адрес сайта: "https://site-name.ru"
Ключ АПИ: "XXXXXXXX"
Ключевые слова для поиска в категориях:
"Покрытие", "детских", "площадок", "резиновой", "крошки"
Ключевые слова для поиска товаров:
"SBR", "Eco", "Color", "EPDM", "Premium", "каучук", "sandwich"
Результат поиска оформи в виде короткого и информативного ответа на запрос клиента.
© ProTalk 2023-2025 ИП Горелов Максим Николаевич ИНН 500104951533 ОГРН 309500106900065
Новая, 8, 9 Реутов, Московская область 143964 Россия