Рекомендуется открыть файл /templates/default/theme/ для практической работы. Ссылка на документацию приведена в описании.
Модуль шаблонов данных
Этот модуль управляет шаблонами данных всех типов страниц: обычных страниц, разделов, каталогов новостей, объектов пользовательских заказов в магазине, элементов справочников, а также наследованием типов, групп полей и полей. Это позволяет создавать гибкие структуры данных без изменения кода. Макросы модуля позволяют управлять выводом любых свойств практически в любом оформлении. Модуль также управляет импортом данных из внешних систем, например, RSS или Atom. В default шаблонизаторе макросы RSS и Atom не работают, но это будет рассмотрено позже.
Макросы шаблонов данных
Многие макросы не работают в default шаблонизаторе. Рассмотрим все макросы, поскольку они могут использоваться в других шаблонизаторах (XSLT). Описание каждого макроса будет кратким.
- umi:data:selection: Отображает результат выборки из базы данных UMI.CMS по заданному шаблону. Не работает в default шаблонизаторе.
- umi:data:use: Выборка информации из базы данных. Не работает в default шаблонизаторе.
- umi:data:get_all_groups: Выводит все группы полей страницы по определенному шаблону. Не работает в default шаблонизаторе.
- umi:data:get_all_groups_to_template: Выводит группы полей объекта по определенному шаблону. Недоступен в default шаблонизаторе.
- umi:data:get_atom_meta: Выводит мета-теги для Atom-ленты. Не работает в default шаблонизаторе.
- umi:data:get_rss_meta: Выводит мета-теги для RSS-ленты. Не работает в default шаблонизаторе.
- umi:data:get_property: Выводит свойства страницы по определенному шаблону. Не работает в default шаблонизаторе.
- umi:data:get_property_group, umi:data:get_tagged_property_group, umi:data:get_tagged_property: Не работают в default шаблонизаторе.
Работающие макросы в default шаблонизаторе
- umi:data:get_edit_form: Выводит список свойств для добавления или редактирования объекта.
- Добавление объекта: Используется для вывода форм добавления объекта с типом type_id. Пример использования: /work/work_templates/demo/default/emarket/cue_chosen_monster.tpl.
<cms:get_edit_form type_id="{$item.one_step_delivery.attribute.id}" />
type_id может передаваться различными способами. Также используются параметры from_template (путь к шаблону) и default_value (значение по умолчанию, обычно false).
- Редактирование объекта: Выводит список свойств для редактирования объекта с указанным id. Пример использования: /work/work_templates/demo/default/emarket/key_chosen_want_to_put_in.tpl.
<cms:get_edit_form id="{$item.key_chosen.id}" />
Этот вариант имеет более строгую проверку прав доступа: редактировать объект может только его создатель или супервайзер.
Шаблоны данных в админ-панели
В админ-панели (модуль «Шаблоны данных» или «Модули» -> «Шаблоны данных») можно управлять шаблонами данных:
- Добавлять новые типы данных (например, объект каталога).
- Добавлять группы и поля.
- Настраивать свойства полей (видимость, обязательность, индексация, фильтрация). Параметры:
- Видимое: поле отображается в админ-интерфейсе.
- Обязательное: поле должно быть заполнено.
- Важно: поле отображается по умолчанию в редакторе, остальные поля скрыты.
- Индексируемое: поле участвует в поиске.
- Фильтрование: поле доступно для фильтрации в поиске.
Создание нового типа данных
Пример: создание типа данных «Apple техника» с полем «Видео».
- Нажмите «Добавить тип данных».
- Укажите название («Apple»).
- Выберите назначение («Объект каталога»).
- Добавьте группу и поле «Видео» типа «Изображение». Установите параметры поля.
Справочники
Для создания выпадающих списков используются справочники. Процесс создания:
- Перейдите в «Справочники».
- Добавьте новый справочник (например, «Apple Модель»).
- Добавьте элементы (например, «iPhone», «iPad», «iPod»).
При добавлении поля типа «Выпадающий список» можно выбрать созданный справочник.
Работа с шаблонами данных в UMI.CMS предоставляет широкие возможности для создания гибких и настраиваемых структур данных. Использование макросов и справочников упрощает разработку и администрирование сайта.