Выпадающий список
Выпадающий список. Главное в нём — откуда берутся варианты, а их два источника.
Статический список
Варианты вводятся руками, по строке на пункт: подпись и значение.
| Подпись | Значение |
|---|---|
| Кошка | cat |
| Собака | dog |
Подпись видит редактор, значение сохраняется. Годится для короткого перечня, который не меняется: размеры, статусы, пара вариантов вёрстки.
Из модели
Варианты читаются из базы. Вы выбираете модель, поле для показа, поле для сохранения и, по желанию, фильтр, сортировку и ограничение.
Годится, когда список — это данные, а не константа: города, категории, бренды. Добавили строку в таблицу — она сама появилась в списке, править в конструкторе нечего.
Множественный выбор
Галочка множественный превращает список в мультивыбор: значение хранит уже не один пункт, а несколько.
Вывод:
<span class="badge">{$status}</span>Подпись и значение — разные вещи, и путать их дорого
Редактор видит подпись, а в базу сохраняется значение. По значению же вы пишете условия в шаблоне:
| Подпись | Значение |
|---|---|
| В наличии | in_stock |
{if $status == 'in_stock'}Соблазн велик положить в значение тот же текст, что и в подпись, — «В наличии». Тогда через полгода заказчик попросит писать «Есть на складе», и выяснится, что менять надо не только надпись: в базе у всех записей лежит старая формулировка, а в шаблоне сравнение с ней. Придётся править и то, и другое, и не забыть ни одной страницы.
С отдельным ключом такой правки нет: поменяли подпись — на сайте новая надпись, в базе и в шаблоне всё по-прежнему.