Как известно, в движке-родителе LS существует четкое разделение по типам топиков и у каждого типа существует свой фиксированный набор дополнительных полей, что несколько ограничивает функционал. В AltoCMS решено отказаться от такого жесткого разделения. По умолчанию в AltoCMS есть один тип контента — обычный топик, который можно гибко дополнить как базовыми(фотосет, опрос, ссылка на оригинал), так и своими полями (строковые и многострочные текстовые поля, выпадающие списки, даты, ссылки, прикрепление файлов). Существует возможность ограничить доступ на создание определенного типа контента, и возможность добавления своих видов полей из плагинов.
Настройка типов контента и полей
Задачи
- Добавить к стандартному типу контента “Топик” возможность пакетной загрузки фото и добавить поле “Дата фотосьемки”.
- Добавить новый тип контента “Обзор” (например, для ресторанной критики) с пакетной загрузкой фото, полями “средний чек”, “ссылка на сайт”, “Меню”(будем прикреплять файл с меню), “итоговая оценка”(выпадающий список).
Задача 1 — добавляем поля

Кликаем на редактирование типа контента “Топик”, видим страницу настроек типа контента

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

В выпадающем списке “тип” — выбираем “Дата”. Название — “Дата фотосьемки”. В описании пишем подсказку к полю — “Выберите дату, когда производилась фотосьемка”. Жмем сохранить и получаем:

Задача выполнена. Теперь можно вернуться на ваш сайт. При создании топика у пользователей появится возможность прикреплять фотосет и указывать дату фотосьемки, которая будет выводиться отдлеьным полем.
Задача 2 — создаем свой тип контента с полями
1)Для создания нового типа контента возвращаемся в админку, в раздел “Типы контента”. Кликаем на синюю кнопку с заголовком “Добавить новый”. Видим и заполняем форму, согласно задаче (cлужебный идентификатор должен быть только на латинице и быть уникальным среди созданных типов контента, в нашем случае пишем review). Также выбираем, что нам необходима пакетная загрузка фото (фотосет).

Жмем сохранить и видим

2) Идем в редактирование типа контента. Последовательно добавляем поля из задачи.
Для поля “средний чек” — выбираем тип “строковое”,
Для поля “Ссылка на сайт” — тип “ссылка”,
Для поля “Меню” — тип “файл”,
Для поля “Итоговая оценка” — тип “выпадающий список” и заполняем варианты выбора по одному на каждой строке

Уходим из админки и возвращаемся на наш сайт, при нажатии на кнопку “создать” видим, что появилась возможность создать два разных типа контента:

А при создании топика-обзора появились дополнительные поля:


Также в AltoCMS есть возможность дополнять виды полей своими. Об этом будет рассказано в следующей статье, совместно с релизом плагина карт.
2. Я правильно понял что данные из доп.полей сохраняются сериализированно в БД в BLO-поле. И по тем полям нельзя огранизовать нормальную выборку\сортировку через запрос?