Как известно, в движке-родителе LS существует четкое разделение по типам топиков и у каждого типа существует свой фиксированный набор дополнительных полей, что несколько ограничивает функционал. В AltoCMS решено отказаться от такого жесткого разделения. По умолчанию в AltoCMS есть один тип контента — обычный топик, который можно гибко дополнить как базовыми(фотосет, опрос, ссылка на оригинал), так и своими полями (строковые и многострочные текстовые поля, выпадающие списки, даты, ссылки, прикрепление файлов). Существует возможность ограничить доступ на создание определенного типа контента, и возможность добавления своих видов полей из плагинов.
Настройка типов контента и полей
Задачи
- Добавить к стандартному типу контента “Топик” возможность пакетной загрузки фото и добавить поле “Дата фотосьемки”.
- Добавить новый тип контента “Обзор” (например, для ресторанной критики) с пакетной загрузкой фото, полями “средний чек”, “ссылка на сайт”, “Меню”(будем прикреплять файл с меню), “итоговая оценка”(выпадающий список).
Задача 1 — добавляем поля
![админка AltoCMS админка AltoCMS](https://altocms.ru/uploads/images/00/00/01/2013/07/31/3d7b03.png)
Кликаем на редактирование типа контента “Топик”, видим страницу настроек типа контента
![Типы контента в AltoCMS Типы контента в AltoCMS](https://altocms.ru/uploads/images/00/00/01/2013/07/31/789873.png)
Для подключения пакетной загрузки фото, выбираем чекбокс “фотосет” и жмем “сохранить”.
Возвращаемся в редактирование типа контента. Жмем кнопку “добавить поле” и видим форму:
![Типы контента в AltoCMS Типы контента в AltoCMS](https://altocms.ru/uploads/images/00/00/01/2013/07/31/5353a1.png)
В выпадающем списке “тип” — выбираем “Дата”. Название — “Дата фотосьемки”. В описании пишем подсказку к полю — “Выберите дату, когда производилась фотосьемка”. Жмем сохранить и получаем:
![Настройка полей Настройка полей](https://altocms.ru/uploads/images/00/00/01/2013/07/31/a24c68.png)
Задача выполнена. Теперь можно вернуться на ваш сайт. При создании топика у пользователей появится возможность прикреплять фотосет и указывать дату фотосьемки, которая будет выводиться отдлеьным полем.
Задача 2 — создаем свой тип контента с полями
1)Для создания нового типа контента возвращаемся в админку, в раздел “Типы контента”. Кликаем на синюю кнопку с заголовком “Добавить новый”. Видим и заполняем форму, согласно задаче (cлужебный идентификатор должен быть только на латинице и быть уникальным среди созданных типов контента, в нашем случае пишем review). Также выбираем, что нам необходима пакетная загрузка фото (фотосет).
![Создание нового типа контента в AltoCMS Создание нового типа контента в AltoCMS](https://altocms.ru/uploads/images/00/00/01/2013/07/31/070a3e.png)
Жмем сохранить и видим
![](https://altocms.ru/uploads/images/00/00/01/2013/07/31/9f8ba1.png)
2) Идем в редактирование типа контента. Последовательно добавляем поля из задачи.
Для поля “средний чек” — выбираем тип “строковое”,
Для поля “Ссылка на сайт” — тип “ссылка”,
Для поля “Меню” — тип “файл”,
Для поля “Итоговая оценка” — тип “выпадающий список” и заполняем варианты выбора по одному на каждой строке
![Поля Поля](https://altocms.ru/uploads/images/00/00/01/2013/07/31/85c188.png)
Уходим из админки и возвращаемся на наш сайт, при нажатии на кнопку “создать” видим, что появилась возможность создать два разных типа контента:
![](https://altocms.ru/uploads/images/00/00/01/2013/07/31/84b48b.png)
А при создании топика-обзора появились дополнительные поля:
![](https://altocms.ru/uploads/images/00/00/01/2013/07/31/c77f32.png)
![](https://altocms.ru/uploads/images/00/00/01/2013/07/31/3b54a3.png)
Также в AltoCMS есть возможность дополнять виды полей своими. Об этом будет рассказано в следующей статье, совместно с релизом плагина карт.
2. Я правильно понял что данные из доп.полей сохраняются сериализированно в БД в BLO-поле. И по тем полям нельзя огранизовать нормальную выборку\сортировку через запрос?