Создание поля «Выпадающий список» (select) для страниц
Выпадающий список — это поле, которое позволяет выбрать одно значение из нескольких заданных. Например, «Статус материала» (черновик, на проверке, опубликовано) или «Тип страницы» (новость, статья, обзор). Мы создадим такое поле для таблицы страниц cot_pages.
Шаг 1: Откройте раздел управления дополнительными полями
Войдите в административную панель вашего сайта Cotonti. В боковом или верхнем меню найдите раздел «Администрирование», затем выберите пункт «Extrafields». Вы попадёте на страницу со списком всех зарегистрированных в системе таблиц. Нас интересует таблица страниц, которая называется cot_pages. Нажмите на неё.
Полный адрес этой страницы выглядит примерно так (замените домен на ваш): https://cotonti.local/ru/admin/extrafields?n=cot_pages.
Шаг 2: Начните создание нового поля
В верхней части страницы вы увидите таблицу с уже существующими дополнительными полями. Под ней находится форма для добавления нового. Найдите зелёную кнопку «Добавить» справа от пустой строки. Пока ничего не нажимайте — сначала заполним форму.
Шаг 3: Заполните основные настройки поля
Форма содержит несколько вкладок глазами, но на самом деле это просто длинная строка таблицы. Пройдёмся по каждому элементу слева направо.
| Название поля в форме | Что нужно сделать | Пример для поля «Статус» |
| Включено (Enabled) | Флажок, который определяет, будет ли поле активно. Обычно уже установлен. Оставьте его включённым. | Галочка стоит |
| Имя поля (Name) | Уникальное название латинскими буквами и цифрами, без пробелов. Не используйте дефисы и точки. Это имя будет использоваться в шаблонах и при обращении к полю из кода. | status |
| Описание (Description) | Краткий текст, который будет отображаться в форме редактирования страницы как подпись к полю. Может быть на любом языке. | Статус материала |
| HTML-код поля (HTML) | Это внешний вид поля ввода. Для типа select оставьте это поле пустым. Cotonti автоматически сгенерирует правильный HTML-код выпадающего списка. | Пусто |
Шаг 4: Выберите тип поля
Справа от блока с именем и описанием находится выпадающий список «Тип поля» (Type). Сейчас он показывает input. Нажмите на него и выберите из списка значение select. После этого некоторые соседние поля станут активными или неактивными в зависимости от выбранного типа. Для select станет активным поле «Значения выбора», а поле «Параметры» станет неактивным (это нормально).
Шаг 5: Настройте параметры, характерные для типа select
Теперь у нас есть специфичные для выпадающего списка настройки. Посмотрите на правую часть формы.
| Название поля в форме | Описание и действие | Пример для поля «Статус» |
| Парсинг (Parse) | Определяет, как значение будет обрабатываться при показе на сайте. «По умолчанию» (HTML) разрешает теги в значении, «Нет» (Text) — преобразует всё в безопасный текст. Для списка обычно оставляют По умолчанию. | По умолчанию |
| Обязательное (Required) | Если поставить галочку, пользователь не сможет сохранить страницу, пока не выберет значение из списка. Для нашего примера не обязательно. | Без галочки |
| Параметры (Params) | Для типа select это поле не используется. Оно заблокировано, вы не сможете в него ничего вписать. | Заблокировано |
| Значения выбора (Variants) | Самое важное поле для выпадающего списка! Здесь вы перечисляете через запятую все варианты, которые должны появляться в списке. Не ставьте пробелы вокруг запятых! Если нужен пробел внутри варианта, используйте обычный текст. | черновик,на проверке,опубликовано |
| Значение по умолчанию (Default) | То значение, которое будет выбрано при создании новой страницы. Должно точно совпадать с одним из вариантов, указанных в «Значениях выбора». Если оставить пустым — поле останется пустым. | черновик |
Шаг 6: Сохраните поле
Проверьте, что все поля заполнены правильно. Затем нажмите кнопку «Добавить» справа от создаваемой записи. Если вы всё сделали верно, страница перезагрузится, и ваше новое поле появится в таблице в верхней части страницы. Если были ошибки (например, имя уже занято), Cotonti покажет сообщение об ошибке — внимательно прочтите его и исправьте проблему.
Шаг 7: Проверьте поле на странице редактирования
Перейдите в любую страницу вашего сайта и нажмите «Редактировать». В форме редактирования вы должны увидеть новое поле — выпадающий список с вариантами, которые вы задали. Выберите нужный вариант и сохраните страницу. Поле заработало!
Шаг 8: Как вывести значение в шаблоне
Если вы захотите показать выбранный статус на странице сайта, откройте нужный шаблон (например, page.tpl) и добавьте теги:
{PAGE_STATUS}— отобразит выбранное значение (например, «опубликовано»).{PAGE_STATUS_TITLE}— отобразит описание поля («Статус материала»).
Не забудьте очистить кеш: Администрирование → Кэш → Очистить кэш.
Возможные проблемы и их решение
- В выпадающем списке пусто или отображается не то. Проверьте, что вы правильно заполнили «Значения выбора» и не поставили лишних пробелов. Значения должны идти строго через запятую:
значение1,значение2,значение3. - После создания поля оно не появляется в форме редактирования страницы. Убедитесь, что флажок «Включено» установлен. Если нет — поставьте его и обновите страницу (кнопка «Обновить» вверху таблицы существующих полей).
- В шаблоне вместо значения выводится что-то непонятное. Проверьте, что вы используете правильные теги. Имена тегов чувствительны к регистру:
{PAGE_STATUS}и{page_status}— разные вещи.