Элемент макета страницы в Nemo в общем случае выполняет функции по выбору контента, введенному пользователем CMS (см. Редактор контента), удовлетворяющему настройкам элемента и формированию выходного HTML-потока с применением шаблона для подстановки его в место, указанное в макете страницы.
Для группировки HTML-потоков, формируемых элементами с применением шаблона, используются блоки элементов. Для этого в настройках элемента следует указать, к какому блоку он относится.
Содержание
Настройки элемента макета страниц
- Заголовок - заголовок элемента;
- Описание - описание элемента;
- Информационный блок - блок, в котором будет отображаться элемент;
- Пользовательское имя объекта - имя объекта, по которому можно будет обратиться к нему из шаблона страницы. Если имя задано, то в процессе наследования элементов макета страницы элементы с одинаковыми именами будут заменяться, а не добавляться к ранее существующим;
- Режим создания объекта - данный параметр влияет на поведение объекта при наследовании элементов макета страниц. Если указано «Наследовать далее», то данный элемент будет наследоваться, иначе он будет создан только при формировании HTML-потока во фронт-энде и только на основе текущего макета;
- Экземпляр модуля - экземпляр модуля, из которого будет выбираться контент для вывода текущим элементом;
- Язык элемента - если выбрать какой-либо язык, то данный элемент будет отображаться только в случае, если язык системы совпадет с текущим;
- Задействовать расписание - если выбран данный пункт, то элемент будет отображаться только в указанный интервал дат;
- Включено - включить или выключить элемент.
Создание элемента
Элемент создается в 2 этапа.
После того, как вы нажмете кнопку «Создать», элемент перейдет в режим настройки дополнительных параметров, о чем будет выдано соответствующее предупреждение.
Появятся дополнительные поля:
- Режим отображения содержимого - это список различных вариантов выборки контента, доступных для выбранного экземпляра модуля. После изменения данного параметра в форме автоматически появятся поля данных, специфические для текущего режима отображения.
! Элемент, созданный на основе режима отображения «Внедренный объект системы» экземпляра модуля «Системные функции», не будет наследоваться между макетами страниц и должен быть создан непосредственно на макете страницы, для которого он планируется использоваться, т.к. он является специальным маркером, идентифицирующим макет страницы как пригодный для интеграции построенного на его основе контента с системными функциями Nemo.
- Шаблон - шаблон, который будет применен к контенту;
- Фильтр - дополнительные фильтры, с помощью которых можно управлять видимостью элемента специфичным для определенного фильтра образом.
Шаблон элемента модуля
Элемент страницы отвечает за подготовку данных для вывода во фронт-энд и применения к ним шаблона. Данные, которые передаются в шаблон, зависят от полей «Экземпляр модуля» и «Режим отображения содержимого».
Пример шаблона модуля «Новости» для режима «Определенная новость»:
<h1>{$data.news_title}</h1> <p>{$data.news_content}</p>
Переменные и выражения доступные в шаблонах элементов:
Заголовок | Значение |
---|---|
{$parent} | Доступ к переменным, доступным из шаблона макета страницы или блока элементов (в зависимости от того, из какого шаблона был вызван {cms_render_element id=$element.id}) |
{$global} | Доступ к переменным, доступным из шаблона макета страницы, в случае, если элемент был вызван из шаблона блока |
{$page} | Настройки макета страницы |
Настройки элемента | |
{$id} | ID элемента |
{$element_name} | Пользовательское имя объекта |
{$element_title} | Заголовок элемента |
{$element_description} | Описание элемента |
{$element_template} | Шаблон элемента |
{$date_create} | Дата создания |
{$template_title} | Заголовок шаблона |