Выбор элемента из коллекции CMS (строка)
Выглядит как селект с одиночным выбором.
Опции подтягиваются из коллекции CMS.
Настройки
1. Заголовок - лейбл
2. Плейсхолдер - понятно
3. Коллекция
Обычно это коллекция Цветной аккордеон ...
Для разработчиков: подойдет любая коллекция с интерфейсом
interface CollectionItem {
id: string;
name: Record<string, string>;
}
То есть вообще абсолютно любая.
Если коллекция не придет (не опубликована или не выбрана) - страница заявки свалится в 404.
4. Ключ
Ключ поля из CMS. Поле в CMS должно быть типа Строка
. Можно обязательное.
Принцип работы
Из коллекции приходит список элементов
[
{
"id": "1",
"name": {
"RU": "Яблоко",
"EN": "Apple"
}
},
{
"id": "2",
"name": {
"RU": "Апельсин",
"EN": "Orange"
}
}
]
Они отображаются в списке опций селекта, в зависимости от текущего языка. Например, текущий язык - русский. Тогда список будет
Яблоко
Апельсин
В заявке у пользователя по ключу _KEY_
сохранено некое строковое значение
Это значение ищется в опциях по текущему языку.
- Если не нашлось - в селекте ничего не выбрано.
- Нашлось - в селекте выбрано именно та опция, которая подошла.
Например, сейчас русский язык:
- У юзера в заявке было выбрано
Яблоко
. Тогда в селекте при загрузке страницы будет выбрана опция с id="1". - У юзера в заявке значение
Арбуз
. В селекте ничего не будет выбрано. - У юзера в заявке значение
Apple
. В селекте ничего не выбрано.
При отправке заявки
В поле заявки с кодом _KEY_
отправляется строка - текущая опция, и ее название в текущем языке.
Например, текущая опция, выбранная пользователем
{
"id": "2",
"name": {
"RU": "Апельсин",
"EN": "Orange"
}
}
Если текущий язык - английский, на бек отправится значение Orange