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

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

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

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

![](/files/-M5X4jz5g7bzqQVYC612)

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

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

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

![](/files/-M5XBaP_i88cqyIBj8ei)

![Две текстовых кнопки с имеющимися товарами](/files/-M5XBiWBkC0emGyihMG1)

![Ждём ответ пользователя](/files/-M5XBtcr_3RrGfyckYKQ)

![Сохраняем ответ в массив](/files/-M5XCKxBd73rsOHMEaRE)

```python
%корзина%.push(%сообщение%)
```

![Отправляем пользователю текущее содержимое его корзины](/files/-M5XCXZhxHW2T_2yA0co)

```python
{{ %корзина% | pretty }}
```

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

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

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

![](/files/-M5XE5LnIbAAXYkGoSXi)

![](/files/-M5XEBhs2kSJkIQGBP3g)

![Ждём ответ пользователя](/files/-M5XEEp5CK_Di0neTGID)

![Удаляем товар из корзины](/files/-M5XEKe7hJQBtQg8lWJo)

```python
%корзина%.remove(%сообщение%)
```

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

```python
%корзина% = %корзина%.filter(el => el.lower() != %сообщение%.lower())
```

{% endhint %}

![Отправляем текущее содержимое корзины пользователю](/files/-M5XETg27CptmK09ID1u)

## Тестируем

![](/files/-M5XEoSXh_kEAg8QJCzf)

![](/files/-M5XEwjtG6XxO7MIUCoX)

![](/files/-M5XF5zOGrZOqSUzFbJl)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.smartbot-vk.ru/smartquery/recipes/prostaya-korzina-tovarov.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
