Каталог: 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] => ) )
Была ли полезна для вас статья?

Мы используем файлы Cookie, чтобы сделать работу с сайтом проще и удобнее. Нажимая кнопку «Принять Cookie» или продолжая просмотр сайта, вы даете согласие на использование cookie и счетчика Яндекс.Метрика для обработки персональных данных. Более подробная информация тут

Cookies в CMS Smart Engine