Простая корзина товаров

Работа с массивами

В этой статье мы реализуем корзину товаров на базе массива: пользователь сможет выбрать один или несколько товаров из списка.

Создаём переменную

Создайте переменную %корзина% типа Массив в разделе Переменные:

Обратите внимание на значение по умолчанию: [] — это пустой массив (пользователь ещё не добавлял ничего в корзину).

Цепочка добавления товара

Теперь добавим цепочки для добавления и удаления товаров в корзину. Начнем с добавления:

Две текстовых кнопки с имеющимися товарами
Ждём ответ пользователя
Сохраняем ответ в массив
%корзина%.push(%сообщение%)
Отправляем пользователю текущее содержимое его корзины
{{ %корзина% | pretty }}

Обратите внимание, что у шага "Выполнить SmartQuery" есть кнопка "Проверить код", а у шага "Отправить сообщение" — кнопка "Проверить отображение". С их помощью можно проверить код на отсутствие ошибок и увидеть сообщение с подставленными переменными прямо в редакторе цепочек.

Цепочка удаления товара

Теперь добавим цепочку для удаления товаров из корзины.

Ждём ответ пользователя
Удаляем товар из корзины
%корзина%.remove(%сообщение%)

Этот код сработает, только если пользователь напишет название товара в том же регистре, в каком оно хранится в массиве. Если вы хотите удалить все товары из корзины с указанным пользователем названием без учёта регистра, используйте следующий код:

%корзина% = %корзина%.filter(el => el.lower() != %сообщение%.lower())
Отправляем текущее содержимое корзины пользователю

Тестируем

Если вы хотите хранить в корзине кроме названия товара какую-то ещё связанную с ним информацию, например, количество товара — читайте следующую статью.

Last updated

Was this helpful?