Skip to content

Выпадающий список

Выпадающий список. Главное в нём — откуда берутся варианты, а их два источника.

Статический список

Варианты вводятся руками, по строке на пункт: подпись и значение.

ПодписьЗначение
Кошкаcat
Собакаdog

Подпись видит редактор, значение сохраняется. Годится для короткого перечня, который не меняется: размеры, статусы, пара вариантов вёрстки.

Из модели

Варианты читаются из базы. Вы выбираете модель, поле для показа, поле для сохранения и, по желанию, фильтр, сортировку и ограничение.

Годится, когда список — это данные, а не константа: города, категории, бренды. Добавили строку в таблицу — она сама появилась в списке, править в конструкторе нечего.

Множественный выбор

Галочка множественный превращает список в мультивыбор: значение хранит уже не один пункт, а несколько.

Вывод:

html
<span class="badge">{$status}</span>

Подпись и значение — разные вещи, и путать их дорого

Редактор видит подпись, а в базу сохраняется значение. По значению же вы пишете условия в шаблоне:

ПодписьЗначение
В наличииin_stock
html
{if $status == 'in_stock'}

Соблазн велик положить в значение тот же текст, что и в подпись, — «В наличии». Тогда через полгода заказчик попросит писать «Есть на складе», и выяснится, что менять надо не только надпись: в базе у всех записей лежит старая формулировка, а в шаблоне сравнение с ней. Придётся править и то, и другое, и не забыть ни одной страницы.

С отдельным ключом такой правки нет: поменяли подпись — на сайте новая надпись, в базе и в шаблоне всё по-прежнему.

© PageBlocks 2019-present