UMI.CMS: Шаблоны данных — урок 12

Рекомендуется открыть файл /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 техника» с полем «Видео».

  1. Нажмите «Добавить тип данных».
  2. Укажите название («Apple»).
  3. Выберите назначение («Объект каталога»).
  4. Добавьте группу и поле «Видео» типа «Изображение». Установите параметры поля.

Справочники

Для создания выпадающих списков используются справочники. Процесс создания:

  1. Перейдите в «Справочники».
  2. Добавьте новый справочник (например, «Apple Модель»).
  3. Добавьте элементы (например, «iPhone», «iPad», «iPod»).

При добавлении поля типа «Выпадающий список» можно выбрать созданный справочник.

Работа с шаблонами данных в UMI.CMS предоставляет широкие возможности для создания гибких и настраиваемых структур данных. Использование макросов и справочников упрощает разработку и администрирование сайта.

Что будем искать? Например,программа