Каталог: catalog
Метод catalog позволяет получить товары.
Первым параметром запроса передается массив с возможными значениями, указанными ниже:
join | позволяет указать дополнительные таблицы для выборки из БД. Параметр необходим, если выборка связана с определенным разделом, брендом, категорией, тегом или коллекцией |
---|---|
Тип | array |
Возможные значения |
в качестве ключа передается одно из значений: part, brand, category, tags, collections. В качестве значения передается ID из соответствующей таблицы. В случае, если необходимо передать несколько ID – используется массив |
Значение по умолчанию | нет |
where | условия для выборки из БД |
---|---|
Тип | array |
Возможные значения | любой допустимый набор пар ключ-значение для корректного sql запроса, например, array('catalog.id' => 1) будет соответствовать записи "WHERE catalog.id=1". |
Значение по умолчанию | нет |
where_in | условия для выборки из БД (аналог SQL синтаксиса WHERE IN) |
---|---|
Тип | array |
Возможные значения | принимается массив из 2-х значений, где первое – поле в таблице, а второе – его возможные значения для построения запроса вида WHERE catalog.id IN (10, 20, 30). |
Значение по умолчанию | нет |
where_not_in | условия для выборки из БД (аналог SQL синтаксиса WHERE NOT IN) |
---|---|
Тип | array |
Возможные значения | принимается массив из 2-х значений, где первое – поле в таблице, а второе – его исключенные значения для построения запроса вида WHERE catalog.id NOT IN (10, 20, 30). |
Значение по умолчанию | нет |
Внимание! Для методов where, where_in, where_not_in необходимо учитывать наличие синонимов, поэтому к полю, которое участвует в условии для выборки, добавляется название таблицы (например, catalog.id, если необходимо в условии использовать ID товара)
limit | ограничение по количеству вывода данных |
---|---|
Тип | integer |
Значение по умолчанию | нет |
offset | сдвиг для построения пагинации |
---|---|
Тип | integer |
Значение по умолчанию | нет |
order | порядок вывода данных (сортировка) |
---|---|
Тип | string |
Возможные значения | любая допустимая сортировка согласно БД, например, 'catalog.name asc' будет соответствовать сортировке по имени от А до Я. Для сортировки по возрастанию используется asc, по убыванию – desc. |
Значение по умолчанию | нет |
filters | фильтрация данных |
---|---|
Тип | array |
Возможные значения | Для просмотра информации перейдите по ссылке |
Значение по умолчанию | нет |
extra | дополнительные данные, которые необходимо получить |
---|---|
Тип | array |
Возможные значения | массив с максимальным набором данных выглядит следующим образом array('video', 'files', 'part', 'brand', 'category', 'tags', 'collections', 'options', 'filters', 'params'), где video – видео товара, files – файлы товара, part – разделы, brand – бренды, category – категории товаров, tags – теги, collections – коллекции, options – опции товара, filters – значения фильтров данного товара, params – значения доп. параметров данного товара |
Значение по умолчанию | нет |
strict | строгий режим, если включен, то выводятся только те товары, у которых активен родительский раздел |
---|---|
Тип | boolean |
Значение по умолчанию |
true |
full | если параметр равен false, то дополнительные данные выгружаются только с флагом active=1 |
---|---|
Тип | boolean |
Значение по умолчанию |
false |
Внимание! Для использования параметров join, where, where_in, where_not_in, order и filters, а также для корректной обработки ответа, необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.
Вторым параметром передается render:
render | отвечает за вывод групповых товаров в списках, если параметр равен true, то выводятся только те товары, у которых render=1 |
---|---|
Тип | boolean |
Значение по умолчанию |
false |
Внимание! Для данного метода необходимо учитывать наличие синонимов, поэтому к полям при необходимости добавляется название таблицы (например, catalog.active, catalog.name и т.д.).
Помимо основных данных, всегда выгружаются дополнительные фото (photo) для каждого товара, а также список настроек модуля "Каталог" (settings) в общем массиве данных (даже если выборка содержит 0 совпадений).
Настройки модуля каталог
amount_step |
шаг заказа (параметр определяет, на какое кол-во можно увеличить или уменьшить позицию в корзине) |
currency | валюта (подробнее о валютах в системе SE4 по ссылке) |
default_photo | фото, которое используется по умолчанию, если фото к товару или разделу не было загружено |
goods_order | сортировка товаров по умолчанию |
group_color |
групповая характеристика "Цвет" |
group_height |
групповая характеристика "Высота" |
group_length |
групповая характеристика "Длина" |
group_size | групповая характеристика "Размер" |
group_weight |
групповая характеристика "Вес" |
group_width |
групповая характеристика "Ширина" |
ignore_amount |
не учитывать наличие |
name_format | формат названия товара (подробнее о формате названия товара в системе SE4 по ссылке) |
unique_options | если параметр равен 1, то к товару нельзя добавить больше одной опции (используется при создания переключателей), если же параметр равен 0, то к товару можно добавить сколько угодно опций (используется при создании чекбоксов) |
watermark | водяной знак, который автоматически накладывается при загрузке фото через админ. панель SE4 |
price_format_decimals | количество цифр после разделителя |
price_format_dec_point |
разделитель дробной части |
price_format_delimiter |
разделитель тысяч |
Похожие методы
Пример простейшего вызова
$this->smartriver->catalog();
Пример вызова с параметрами
$this->smartriver->catalog(['join' => ['part' => 2], 'where' => ['catalog.active' => 1], 'limit' => 10, 'extra' => ['video', 'files', 'part', 'brand', 'category', 'tags', 'options', 'filters', 'params']], true);
Пример ответа
Array
(
[status] => ok
[message] => success
[response] => Array
(
[0] => Array
(
[id] => 6
[id_source] =>
[id_tpl] => -1
[vendor_code] => testovy_tovar
[name] => Тестовый товар
[desc_short] => Анонс
[desc_full] => Контент
[price] => 1000.00
[price_new] => 900.00
[best_price] => 900.00
[amount] => 1
[unit] => шт.
[step] => 1
[weight] => 1
[width] => 10
[height] => 5
[length] => 15
[size] =>
[digital] => 0
[service] => 0
[start] => 0000-00-00
[stop] => 0000-00-00
[color] => 1
[link] => /products/testovy_tovar-6
[image] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif
[group] =>
[seo_title] =>
[seo_keywords] =>
[seo_description] =>
[sort] => 0
[fixed] => 0
[active] => 1
[active_part] => 1
[render] => 0
[main] => 0
[no_yml] => 1
[photo] => Array
(
[0] => Array
(
[url] => /images/catalog/d22k6cs27txpq28to12l.jpg
[caption] =>
)
[1] => Array
(
[url] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif
[caption] =>
)
)
[video] => Array
(
[0] => Array
(
[id] => 197
[name] =>
[type] =>
[url] =>
[codec] =>
[html] =>
)
[1] => Array
(
[id] => 6
[name] => Создание стиля для текста.mp4
[type] => mp4
[url] => /video/9O6cnnEqmhOCed5FefBF.mp4
[codec] => avc1.42E01E, mp4a.40.2
[html] =>
)
)
[files] => Array
(
[0] => Array
(
[id] => 4
[name] => x5Gkh3zUvHH9dOFgDUmj.gif
[size] => 237.49
[extention] => gif
[type] => image
[media] => 1
[mediaType] => image
[url] => /files/8a7699n3j69efp6cds65.gif
)
[1] => Array
(
[id] => 7
[name] => Тестовый документ.txt
[size] => 0.05
[extention] => txt
[type] => document
[media] =>
[mediaType] =>
[url] => /files/u2az970wicpj8d0g34ka.txt
)
)
[part] => Array
(
[0] => Array
(
[id] => 2
[id_source] =>
[id_parent] => 0
[id_tpl] => -1
[vendor_code] => Артикул
[name] => Тестовый раздел
[announce] => Анонс
[description] => Описание
[link] => /catalog/testovy_razdel-2
[image] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif
[main] => 1
[sort] => 0
[active] => 1
[no_yml] => 1
[is_index] => 0
)
)
[brand] => Array
(
[id] => 1
[id_tpl] => -1
[name] => Тестовый бренд
[description] =>
[link] => testovy_brend
[image] =>
[sort] => 0
[active] => 1
)
[category] => Array
(
[0] => Array
(
[id] => 2
[name] => Тестовый статус
[description] =>
[image] => /images/gallery/hWwyGaQN2XFFSa3NJfsF.svg
[sort] => 0
[active] => 1
)
)
[tags] => Array
(
[0] => Array
(
[id] => 1
[name] => Тестовый тег
[sort] => 0
[active] => 1
)
)
[options] => Array
(
[0] => Array
(
[id] => 5
[name] => Тестовая опция
[description] => Тестовое описание
[image] => /images/gallery/UrUAhlViswuCcPSJTPZz.svg
[price] => 150.00
[sort] => 0
[active] => 1
)
)
[filters] => Array
(
[0] => Array
(
[id] => 2
[name] => Тестовый фильтр
[type] => select
[value] => test
[value_p] => Тест
[section] => item
[sort] => 0
[active] => 1
[all_parts] => 0
[unit] => шт
[no_yml] => 0
)
)
[params] => Array
(
[0] => Array
(
[id] => test_param
[name] => Тестовый параметр
[type] => photo
[value] => /images/gallery/Wmxk10E6KjmMe2TCYGxL.svg
[section] => item
[sort] => 0
[active] => 1
[all_parts] => 0
[group] => test
[is_group] => 0
[unit] => шт
[no_yml] => 0
)
)
)
)
[settings] => Array
(
[amount_step] => 1
[currency] => rouble
[currency_position] =>
[date_format] => dd.mm.yyyy
[default_photo] =>
[goods_order] => free
[group_color] =>
[group_height] =>
[group_length] =>
[group_size] =>
[group_weight] =>
[group_width] =>
[ignore_amount] =>
[name_format] => name
[unique_options] =>
[watermark] =>
[price_format_decimals] => 0
[price_format_dec_point] =>
[price_format_delimiter] =>
)
)