С помощью формул теперь возможно выводить рандомные товары например для раздела “Похожие товары”, в данной инструкции описано пошаговое создание рандомной формулы.
Для работы вам понадобится:
Редактор 4.2 и выше
Секция Глобальные переменные
Подключенная таблица
Инструкция
В редакторе добавляем секцию Глобальные переменные. В данной секции возможно подключать несколько разных таблиц и задавать формулы для работы с данными. На опубликованной странице секции видно не будет.
При добавлении страницы у вас появляются переменные, нажмем у одной из переменных на гаечный ключ и разберем какие поля есть для работы:
Название переменной - в поле необходимо вписать любое название на английском, это поле необходимо нам для взаимодействия с переменными и формулами ниже.
Описание переменной - в этом поле можно написать что делает данная переменная, например “Вывод данных из бд”. Данное поле можно оставить пустым, его заполняете для удобства, чтобы было легче ориентироваться в множестве переменных.
Тип переменной - в выпадающем списке нужно выбрать один из вариантов Формула или Запрос к базе данных. При выборе первого варианта появится поле в котором вводите формулу, о том какие формулы доступны можно ознакомится в инструкции Формулы, при выборе второго варианта появится возможность подключить нужную таблицу.
В первой переменной нужно подключить таблицу, поэтому в поле Тип переменной выбираем Запрос к базе данных. Рассмотрим какие поля нам доступны после выбора Запрос к базе данных:
В выпадающем списке Подключение к таблице выбираем таблицу с которой будем работать.
В Фильтрах можно ограничить список выводимых значений по определенному значению.
Так же можно задать Сортировку, например по возрастанию.
В поле Количество записей можно задать сколько записей выводить в поле.
Обязательно нажимаем применить чтобы таблица подключилась.
Теперь откроем вторую переменную, зададим ей название ids и выберем тип переменной Формула. В данной переменной мы получим все id товаров которые были найдены в первой переменной. Для этого нам понадобится функция map которая выполняет преобразование каждого элемента массива. В данную функцию передается два параметра массив, формула (array, expression).
Нам нужно получить id всех значений из таблицы, поэтому формула будет иметь вид
Вместо [1, 2, 3, 4, 5] подставляем имя переменной созданной в шаге 4.
Больше доступных форм для работы вы найдете в инструкции Готовые формулы
Создадим еще одну переменную чтобы обрезать количество выводимых значений до 5 и преобразовать массив в строку. Имя переменной будет FinalList с типом переменной Формула. Добавляем следующую формулу:
join(slice(shuffled, 0, 5 ), ", ")
Теперь разберем что же делает эта формула
join - функция переводит массив в строку, в нее передается два параметра первый обязательный это массив(strings) и второй не обязательный разделитель (separator). Если разделитель опустить все значения массива объединятся в одну строку. Нам же нужно чтобы функция разделила все значения через запятую, поэтому передаем запятую после массива внутри кавычек (", ")
slice - функция обрезает массив, возвращая заданный промежуток. В данную функцию передается три параметра массив (array), start индекс по которому начинается отсчет (счёт начинается с нуля) и count по которому заканчивается извлечение. Важно! Метод slice() извлекает элементы с индексом меньше count.
И последний шаг. Добавляем виджет или секцию Набор блоков задаем фильтр по нашей переменной FinalList, в условии фильтра обязательно выбираем Один из вариантов.
Готово, теперь каждый раз при открытии страницы у вас будут подтягиваться разные товары.
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА
Не можете найти то, что ищете?
Напишите нам. на связи 24/7. Среднее время ожидания ответа: 10-15 минут. Также вы можете вступить в наш Телеграм-чат, где собралось много специалистов и пользователей.