С помощью формул теперь возможно выводить рандомные товары например для раздела “Похожие товары”, в данной инструкции описано пошаговое создание рандомной формулы.
Для работы вам понадобится:
Редактор 4.2 и выше
Секция Глобальные переменные
Подключенная таблица
Инструкция
1. В редакторе добавляем секцию Глобальные переменные. В данной секции возможно подключать несколько разных таблиц и задавать формулы для работы с данными. На опубликованной странице секции видно не будет.
2. При добавлении страницы у вас появляются переменные, нажмем у одной из переменных на гаечный ключ и разберем какие поля есть для работы:
Название переменной - в поле необходимо вписать любое название на английском, это поле необходимо нам для взаимодействия с переменными и формулами ниже.
Описание переменной - в этом поле можно написать что делает данная переменная, например “Вывод данных из бд”. Данное поле можно оставить пустым, его заполняете для удобства, чтобы было легче ориентироваться в множестве переменных.
Тип переменной - в выпадающем списке нужно выбрать один из вариантов Формула или Запрос к базе данных. При выборе первого варианта появится поле в котором вводите формулу, о том какие формулы доступны можно ознакомится в инструкции Формулы, при выборе второго варианта появится возможность подключить нужную таблицу.
3. В первой переменной нужно подключить таблицу, поэтому в поле Тип переменной выбираем Запрос к базе данных. Рассмотрим какие поля нам доступны после выбора Запрос к базе данных:
В выпадающем списке Подключение к таблице выбираем таблицу с которой будем работать.
В Фильтрах можно ограничить список выводимых значений по определенному значению.
Так же можно задать Сортировку, например по возрастанию.
В поле Количество записей можно задать сколько записей выводить в поле.
Обязательно нажимаем применить чтобы таблица подключилась.
4. Теперь откроем вторую переменную, зададим ей название ids и выберем тип переменной Формула. В данной переменной мы получим все id товаров которые были найдены в первой переменной. Для этого нам понадобится функция map которая выполняет преобразование каждого элемента массива. В данную функцию передается два параметра массив, формула (array, expression). Нам нужно получить id всех значений из таблицы, поэтому формула будет иметь вид
map(my_table.rows, item.title) == ["16","23","22","17"....]
Разберем несколько новых значений
rows - в этом объекте хранятся все значения из таблицы
item - содержит один элемент массива
title - название поля
Чтобы увидеть все доступные названия полей необходимо вернуться в настройки первой переменной и нажать на вкладку Переменная: Название переменной
let({
array: [1, 2, 3, 4, 5]
}, map(
sort(map(array, [item, random()]), item[1]),
item[0]
))
Вместо [1, 2, 3, 4, 5] подставляем имя переменной созданной в шаге 4.
Больше доступных форм для работы вы найдете в инструкции Готовые формулы
join(slice(shuffled, 0, 5 ), ", ")
Теперь разберем что же делает эта формула
2. И последний шаг. Добавляем виджет или секцию Набор блоков задаем фильтр по нашей переменной FinalList, в условии фильтра обязательно выбираем Один из вариантов.
Готово, теперь каждый раз при открытии страницы у вас будут подтягиваться разные товары.
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА
Напишите нам. Мы на связи с 7:00 до 22:00 без выходных. Среднее время ожидания ответа: 10-15 минут. Также вы можете вступить в наш Телеграм-чат, где собралось много специалистов и пользователей.
Агенты ответят через 10 минут