API: Стандарты SE v.4
Формат даты
dd | день |
mm | месяц |
mt | месяц текстом |
ms | месяц текстом в именительном падеже |
yyyy | год полный |
yy | год короткий |
g | приставка к году |
Формат времени
H | час |
i | минута |
s | секунда |
Пагинация
В SE4 доступны 2 вида пагинации:
Кнопка "Показать еще" | при нажатии на нее, подгружаются еще данные |
При прокрутке страницы | работает аналогично первому варианту, но срабатывает при достижении скроллом точки загрузки |
Валюты
В SE4 доступно 3 валюты:
rouble | Российский рубль |
dollar | Доллар США |
euro | Евро |
Получение цены
Возвращает отформатированную цену согласно настройкам сайта, принимает в качестве аргумента число типа float (или int).
По умолчанию цена выводится вместе с выбранной валютой. В качестве второго аргумента можно передать false, чтобы не выводить валюту, а только отформатированную цену.
Пример использования:
$this->smartriver->get_price(540);
Формат названия
В SE4 предусмотрено 2 формата названия товара, в зависимости от того, подставлять ли название бренда перед товаром (brand_name) или нет (name). Важно помнить, что данная опция влияет как на вывод товаров, так и на сортировку и поиск.
Фильтрация в SE4
SE4 позволяет фильтровать товары 7 разными фильтрами:
select | выпадающий список, используется в том случае, когда вариант может быть только один |
radio | переключатель, используется в том случае, когда вариант может быть только один, но вместо выпадающего списка выводится переключатель |
checkbox | фильтр "галочка", используется для фильтрации по признаку "да/нет" и когда вариантов можно выбрать не один, а несколько |
from | фильтр для задания цифровых рамок "от" какого-либо значения |
to | фильтр для задания цифровых рамок "до" какого-либо значения |
price_from | фильтр для задания цены товара "от" (только для товаров) |
price_to | фильтр для задания цены товара "до" (только для товаров) |
Пример вызова метода с фильтрацией по всем параметрам:
$this->smartriver->catalog(['filters' => ['select' => [10 => 5, 9 => 4], 'radio' => [11 => 7, 8 => 3], 'checkbox' => [12 => 1, 7 => 2], 'from' => [13 => 15], 'to' => [13 => 450], 'price_from' => 2990, 'price_to' => 4550]]);
$this->smartriver->catalog_part(['filters' => ['select' => [10 => 5, 9 => 4], 'radio' => [11 => 7, 8 => 3], 'checkbox' => [12 => 1, 7 => 2], 'from' => [13 => 15], 'to' => [13 => 450]]]);
Получение фото-заглушки и превью
Параметры запроса:
module | модуль, для которого используется функция |
---|---|
Тип | string |
Возможные значения |
news (новости), catalog (каталог) и module (универсальный модуль) |
Значение по умолчанию | catalog |
url | адрес изображения, для которого необходимо получить превью, если не передано, то в результате передается заглушка для модуля |
---|---|
Тип | string |
Возможные значения |
корректный url |
Значение по умолчанию | нет |
Пример простейшего запроса:
$this->smartriver->get_image();
Пример ответа:
Array
(
[image] => /images/catalog/GrvurpezIKLupzj9jCdF.svg
[preview] => /images/catalog/GrvurpezIKLupzj9jCdF.svg
)
Обрезка текста
Если есть необходимость обрезать текст для удобства вывода при рендере списков (например, новостей), то можно использовать специальный хелпер обрезки текста cropText. Для этого необходимо сначала подключить соответствующую модель следующим образом:
$this->load->model('helper_model');
Параметры запроса:
text | строка, которую необходимо обрезать |
---|---|
Тип | string |
Значение по умолчанию | нет |
lenght | длина, до которой необходимо обрезать текст |
---|---|
Тип | int |
Значение по умолчанию | нет |
add | добавлять многоточие в конце обрезанной строки |
---|---|
Тип | boolean |
Значение по умолчанию | false |
Пример простейшего вызова:
Пример вызова с параметрами:
Пример ответа:
Длинная строка, которую...