Редактор структуры: различия между версиями
(Новая страница: «== Блоки элементов == Блоки элементов применяются в тех случаях, когда требуется сгруппиро...») |
м (→Настройки элемента макета страниц) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
== Блоки элементов == | == Блоки элементов == | ||
− | Блоки элементов применяются в тех случаях, когда требуется сгруппировать несколько элементов страницы. Каждый [[веб-сайт]] на Nemo CMS может иметь несколько блоков. Для редактирования списка блоков сайта используется раздел | + | Блоки элементов применяются в тех случаях, когда требуется сгруппировать несколько элементов страницы. Каждый [[веб-сайт]] на Nemo CMS может иметь несколько блоков. Для редактирования списка блоков сайта используется раздел «Управление сайтом» → «Nemo CMS» → «Блоки элементов». |
− | Чтобы создать новый блок, нажмите ссылку | + | Чтобы создать новый блок, нажмите ссылку «Создать блок элементов страницы». |
− | + | === Настройки блока элементов === | |
− | *Заголовок | + | * {{Setting|Заголовок}} — заголовок блока. |
− | *Описание | + | * {{Setting|Описание}} — описание блока. |
− | *Шаблон | + | * {{Setting|Шаблон}} — шаблон, который будет применен к списку элементов, входящих в блок при выводе блока. |
− | *Включено | + | * {{Setting|Включено}} — включить или выключить блок. |
− | + | === Шаблон блока элементов === | |
Блок элементов отвечает за вывод HTML-потока каждого из элементов макета страницы во [[фронт-энд]]. Для этого применяется шаблон, в ключевые места которого блок может разместить HTML-поток своих элементов. | Блок элементов отвечает за вывод HTML-потока каждого из элементов макета страницы во [[фронт-энд]]. Для этого применяется шаблон, в ключевые места которого блок может разместить HTML-поток своих элементов. | ||
− | Для этого используются функция | + | Для этого используются функция <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">{cms_render_element id=ID элемента}</syntaxhighlight>. |
− | + | ==== Пример шаблона блока элементов, который выведет содержимое всех элементов, обернутое в тег <p> ==== | |
<pre>{foreach from=$elements item=element} | <pre>{foreach from=$elements item=element} | ||
Строка 24: | Строка 24: | ||
{/foreach}</pre> | {/foreach}</pre> | ||
− | + | ==== Переменные и выражения, доступные в шаблонах блока элементов ==== | |
<table border="1"> | <table border="1"> | ||
Строка 84: | Строка 84: | ||
Например, для новостей доступны следующие переменные: | Например, для новостей доступны следующие переменные: | ||
− | *id=Array | + | * id=Array |
− | *entity_id=Array | + | * entity_id=Array |
− | *news_title=Array | + | * news_title=Array |
− | *news_anounce=Array | + | * news_anounce=Array |
− | *news_content=Array | + | * news_content=Array |
− | *date_create=Array | + | * date_create=Array |
− | *date_modify=Array | + | * date_modify=Array |
− | *is_deleted=Array | + | * is_deleted=Array |
− | *enabled=Array | + | * enabled=Array |
− | *is_scheduled=Array | + | * is_scheduled=Array |
− | *schedule_from=Array | + | * schedule_from=Array |
− | *schedule_to=Array | + | * schedule_to=Array |
− | *image_small=Array | + | * image_small=Array |
− | *image_large=Array | + | * image_large=Array |
− | *image_mode=Array | + | * image_mode=Array |
− | *is_rss=Array | + | * is_rss=Array |
− | *sequence=Array | + | * sequence=Array |
− | *site_id=Array | + | * site_id=Array |
− | *module_name=Array | + | * module_name=Array |
== Элементы макета страницы == | == Элементы макета страницы == | ||
Строка 108: | Строка 108: | ||
Элемент макета страницы в общем случае выполняет функции по выбору контента, введенному пользователем CMS (см. [[Редактор контента]]), удовлетворяющему настройкам элемента и формированию выходного HTML-потока с применением шаблона для подстановки его в место, указанное в макете страницы. Для группировки HTML-потоков, формируемых элементами с применением шаблона, используются блоки элементов. Для этого в настройках элемента следует указать, к какому блоку он относится. | Элемент макета страницы в общем случае выполняет функции по выбору контента, введенному пользователем CMS (см. [[Редактор контента]]), удовлетворяющему настройкам элемента и формированию выходного HTML-потока с применением шаблона для подстановки его в место, указанное в макете страницы. Для группировки HTML-потоков, формируемых элементами с применением шаблона, используются блоки элементов. Для этого в настройках элемента следует указать, к какому блоку он относится. | ||
− | + | === Настройки элемента макета страниц === | |
+ | * {{Setting|Заголовок}} — заголовок элемента. | ||
+ | * {{Setting|Описание}} — описание элемента. | ||
+ | * {{Setting|Информационный блок}} — блок, в котором будет отображаться элемент. | ||
+ | * {{Setting|Пользовательское имя объекта}} — имя объекта, по которому можно будет обратиться к нему из шаблона страницы. Если имя задано, то в процессе наследования элементов макета страниц элементы с одинаковыми именами будут заменяться, а не добавляться к ранее существующим. | ||
+ | * {{Setting|Режим создания объекта}} — данный параметр влияет на поведение объекта при наследовании элементов макета страниц. Если указано «Наследовать далее», то данный элемент будет наследоваться, иначе он будет создан только при формировании HTML-потока во фронт-энде только на основе текущего макета. | ||
+ | * {{Setting|Экземпляр модуля}} — экземпляр модуля, из которого будет выбираться контент для вывода текущим элементом. | ||
+ | * {{Setting|Язык элемента}} — если выбрать какой-либо язык, то данный элемент будет отображаться только в случае, если язык системы совпадет с текущим. | ||
+ | * {{Setting|Задействовать расписание}} — если выбран данный пункт, то элемент будет отображаться только в указанный интервал дат. | ||
+ | * {{Setting|Включено}} — включить или выключить элемент. | ||
− | + | Элемент создается в 2 этапа. После того, как вы нажмете кнопку «Создать», элемент перейдет в режим настройки дополнительных параметров, о чем будет выдано соответствующее предупреждение. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Элемент создается в 2 этапа. После того, как вы нажмете кнопку | ||
Появятся дополнительные поля: | Появятся дополнительные поля: | ||
− | + | * {{Setting|Режим отображения содержимого}} — это список различных вариантов выборки контента, доступных для выбранного экземпляра модуля. После изменения данного параметра в форме автоматически появятся поля данных, специфические для текущего режима отображения. | |
− | + | {{Attention|Элемент, созданный на основе режима отображения «Внедренный объект системы» экземпляра модуля «Системные функции», не будет наследоваться между макетами страниц и должен быть создан непосредственно на макете страницы, для которого планируется его использование, т.к. он является специальным маркером, идентифицирующим макет страницы как пригодный для интеграции построенного на его основе контента с системными функциями {{NameSystem}}.}} | |
− | |||
− | |||
− | + | * {{Setting|Шаблон}} — шаблон, который будет применен к контенту; | |
+ | * {{Setting|Фильтр}} — дополнительные фильтры, с помощью которых можно управлять видимостью элемента специфичным для определенного фильтра образом. | ||
− | + | === Шаблон элемента модуля === | |
Этот элемент страницы отвечает за подготовку данных для вывода во фронт-энд и применения к ним шаблона. Данные, которые передаются в шаблон, зависят от полей «Экземпляр модуля» и «Режим отображения содержимого». | Этот элемент страницы отвечает за подготовку данных для вывода во фронт-энд и применения к ним шаблона. Данные, которые передаются в шаблон, зависят от полей «Экземпляр модуля» и «Режим отображения содержимого». | ||
− | + | ==== Пример шаблона модуля «Новости» для режима «Определенная новость» ==== | |
<pre><h1>{$data.news_title}</h1> | <pre><h1>{$data.news_title}</h1> | ||
<p>{$data.news_content}</p></pre> | <p>{$data.news_content}</p></pre> | ||
− | + | ==== Переменные и выражения доступные в шаблонах элементов ==== | |
<table border="1"> | <table border="1"> | ||
Строка 190: | Строка 188: | ||
== Макеты страниц == | == Макеты страниц == | ||
− | Макет страницы | + | Макет страницы — это некая сущность, определяющая, какие данные будут отображаться на странице фронт-энда, построенной на основе данного макета. Он также задает HTML-верстку для размещения этих данных путем назначения шаблона каждому макету страницы. Для редактирования макетов страниц используется раздел «Управление сайтом» → «Nemo CMS» → «Макеты страниц». |
Для указания того, какие данные стоит выводить во фронт-энде, каждый макет страницы имеет связанный набор элементов. Макеты страниц имеют иерархическую структуру, что дает возможность администратору сформировать логическую структуру сайта, а также позволяет реализовать механизм наследования элементов по пути. Свойства макета страницы изображены на рисунке. | Для указания того, какие данные стоит выводить во фронт-энде, каждый макет страницы имеет связанный набор элементов. Макеты страниц имеют иерархическую структуру, что дает возможность администратору сформировать логическую структуру сайта, а также позволяет реализовать механизм наследования элементов по пути. Свойства макета страницы изображены на рисунке. | ||
− | + | === Настройки макета страницы === | |
− | *Заголовок | + | * {{Setting|Заголовок}} — заголовок макета страницы. |
− | *Описание | + | * {{Setting|Описание}} — описание макета страницы. |
− | *Родитель | + | * {{Setting|Родитель}} — владелец страницы в иерархической структуре, используется для наследования элементов макетов страниц. |
− | *Шаблон | + | * {{Setting|Шаблон}} — шаблон HTML с версткой данного макета страницы. |
− | *Режим создания элементов страницы | + | * {{Setting|Режим создания элементов страницы}} — при формировании выходного потока во фронт-энд на основе макета страницы сперва загружаются элементы всех макетов, начиная с корневого и до текущего, кроме тех, у которых данный параметр установлен в значение «Не наследовать далее», и лишь после этого — элементы текущего макета. |
− | *Включено | + | * {{Setting|Включено}} — включить или выключить макет страницы. |
− | При нажатии на заголовок макета в структуре | + | При нажатии на заголовок макета в структуре отображается список элементов данного макета. |
− | + | === Шаблоны макетов страниц === | |
Макет страницы отвечает за формирование выходного HTML-потока во [[фронт-энд]]. Для этого применяется шаблон, в ключевые места которого макет страницы может разместить HTML-поток какого-либо элемента страницы и/или блока элементов. | Макет страницы отвечает за формирование выходного HTML-потока во [[фронт-энд]]. Для этого применяется шаблон, в ключевые места которого макет страницы может разместить HTML-поток какого-либо элемента страницы и/или блока элементов. | ||
− | Для этого используются функции | + | Для этого используются функции <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">{cms_render_block id=ID блока}</syntaxhighlight> и <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">{cms_render_element id=ID элемента}</syntaxhighlight>. |
− | + | ==== Пример шаблона макета страницы ==== | |
<pre><table width="100%" > | <pre><table width="100%" > | ||
Строка 226: | Строка 224: | ||
</table></pre> | </table></pre> | ||
− | + | {{AttentionBox|URL для доступа к фронт-энду из браузера имеет следующий формат: | |
<pre>http://sitedomain/index.php?go=content&page=ID[¶m1=&...¶mN=]</pre> | <pre>http://sitedomain/index.php?go=content&page=ID[¶m1=&...¶mN=]</pre> | ||
− | где ID | + | где ID — идентификатор макета страницы, который должен быть отображен (если он не задан, то используется значение по умолчанию (см. п. [[Настройки]] сайта)) , sitedomain – домен, который задан в настройках агентства.}} |
− | + | ==== Переменные и выражения, доступные в шаблонах макета страницы ==== | |
<table border="1"> | <table border="1"> | ||
Строка 301: | Строка 299: | ||
Шаблон – это текст формате HTML с мета-вставками, соответствующими синтаксису движка шаблонов Smarty и указывающими места, в которые будут подставляться поля данных контента и/или каких либо других объектов. Каждый сайт, построенный с помощью Nemo CMS, имеет связанный с ним список шаблонов. | Шаблон – это текст формате HTML с мета-вставками, соответствующими синтаксису движка шаблонов Smarty и указывающими места, в которые будут подставляться поля данных контента и/или каких либо других объектов. Каждый сайт, построенный с помощью Nemo CMS, имеет связанный с ним список шаблонов. | ||
− | Редактирование списка шаблонов сайта доступно из раздела | + | Редактирование списка шаблонов сайта доступно из раздела «Управление сайтом» → «Nemo CMS» → «Шаблоны». |
− | Для создания нового шаблона нажмите на ссылку | + | Для создания нового шаблона нажмите на ссылку «Создать шаблон». |
− | + | === Настройки шаблона === | |
− | * | + | * {{Setting|Файл шаблона}} — физическое имя файла, в котором сохраняется шаблон. |
− | * | + | * {{Setting|Заголовок шаблона}} — понятный для пользователя текстовый заголовок шаблона, который будет использоваться при выводе списков шаблонов для блоков, элементов и макетов страниц. |
− | * | + | * {{Setting|Шаблон}} — HTML-верстка шаблона. |
− | * | + | * {{Setting|Использовать WYSIWYG редактор}} — переключение редактора шаблона с ввода текста на работу с визуальным редактором (иногда это необходимо, т.к. визуальные редакторы могут менять верстку и обрезать теги и их атрибуты самостоятельно, что не всегда требуется). |
− | + | === Файлы шаблонов === | |
Говоря о шаблонах, отдельно стоит остановиться на таком параметре как «Файл шаблона». Имена шаблонов могут быть любыми, но для того, чтобы они могли быть использованы в качестве шаблонов элементов, блоков и макетов страниц, они должны соответствовать определенному формату. Для упрощения задачи формирования корректного, с точки зрения системы, имени файла рекомендуется использовать конструктор. Для того, чтобы начать работу с конструктором имени файла шаблона нажмите на ссылку «Конструктор» у соответствующего поля. | Говоря о шаблонах, отдельно стоит остановиться на таком параметре как «Файл шаблона». Имена шаблонов могут быть любыми, но для того, чтобы они могли быть использованы в качестве шаблонов элементов, блоков и макетов страниц, они должны соответствовать определенному формату. Для упрощения задачи формирования корректного, с точки зрения системы, имени файла рекомендуется использовать конструктор. Для того, чтобы начать работу с конструктором имени файла шаблона нажмите на ссылку «Конструктор» у соответствующего поля. | ||
Строка 318: | Строка 316: | ||
Если необходимо создать шаблон для блока элементов, то нужно выполнить следующие действия: | Если необходимо создать шаблон для блока элементов, то нужно выполнить следующие действия: | ||
− | + | # В поле {{Setting|Применяемость}} выбрать пункт «Блок». | |
− | + | # В поле {{Setting|Суффикс}} ввести уникальную строку, идентифицирующую ваш шаблон. | |
После того, как вы выполнили эти действия, в поле имени файла будет сформировано корректное имя файла шаблона, который можно будет использовать с блоками элементов. | После того, как вы выполнили эти действия, в поле имени файла будет сформировано корректное имя файла шаблона, который можно будет использовать с блоками элементов. | ||
− | + | {{Attention|Для имен файлов шаблонов используйте только латиницу, а также не используйте знаки препинания, пунктуации и символ пробела.}} | |
Для создания шаблона для макета страницы используется аналогичная методика: | Для создания шаблона для макета страницы используется аналогичная методика: | ||
− | + | # В поле {{Setting|Применяемость}} выбрать пункт «Страница». | |
− | + | # В поле {{Setting|Суффикс}} ввести уникальную строку, идентифицирующую ваш шаблон. | |
Как видно на рисунках, в зависимости от применяемости шаблона к имени добавляется префикс «block» или «page» для блока и макета страницы соответственно. | Как видно на рисунках, в зависимости от применяемости шаблона к имени добавляется префикс «block» или «page» для блока и макета страницы соответственно. | ||
В случае с шаблонами элементов макета страницы появляются дополнительные параметры: | В случае с шаблонами элементов макета страницы появляются дополнительные параметры: | ||
− | *В поле | + | * В поле {{Setting|Применяемость}} выбрать пункт «Страница». |
− | *В поле | + | * В поле {{Setting|Модуль}} выбрать модуль, для которого будет использован данный шаблон. |
− | *В поле | + | * В поле {{Setting|Формат}} выбрать тип данных, который будет представлять шаблон. |
− | *В поле | + | * В поле {{Setting|Суффикс}} ввести уникальную строку, идентифицирующую ваш шаблон. |
== См. также == | == См. также == | ||
− | [[Система управления порталом (ЦМС)]] | + | * [[Система управления порталом (ЦМС)]] |
− | [[Контент]] | + | * [[Контент]] |
− | [[Фронт-энд]] | + | * [[Фронт-энд]] |
Текущая версия на 13:49, 4 декабря 2018
Блоки элементов
Блоки элементов применяются в тех случаях, когда требуется сгруппировать несколько элементов страницы. Каждый веб-сайт на Nemo CMS может иметь несколько блоков. Для редактирования списка блоков сайта используется раздел «Управление сайтом» → «Nemo CMS» → «Блоки элементов».
Чтобы создать новый блок, нажмите ссылку «Создать блок элементов страницы».
Настройки блока элементов
- Заголовок — заголовок блока.
- Описание — описание блока.
- Шаблон — шаблон, который будет применен к списку элементов, входящих в блок при выводе блока.
- Включено — включить или выключить блок.
Шаблон блока элементов
Блок элементов отвечает за вывод HTML-потока каждого из элементов макета страницы во фронт-энд. Для этого применяется шаблон, в ключевые места которого блок может разместить HTML-поток своих элементов.
Для этого используются функция {cms_render_element id=ID элемента}
.
Пример шаблона блока элементов, который выведет содержимое всех элементов, обернутое в тег
{foreach from=$elements item=element} <p>{cms_render_element id=$element.id}</p> {/foreach}
Переменные и выражения, доступные в шаблонах блока элементов
Переменная | Значение |
---|---|
{$parent} | Доступ к переменным доступных из шаблона <a href="/doku.php?id=settings:cms:structure_editor:template" class="wikilink1" title="settings:cms:structure_editor:template">макета страницы</a> |
{$global} | Доступ к переменным доступных из шаблона <a href="/doku.php?id=settings:cms:structure_editor:template" class="wikilink1" title="settings:cms:structure_editor:template">макета страницы</a> (аналог “parent”) |
{$page} | Настройки <a href="/doku.php?id=settings:cms:structure_editor:template" class="wikilink1" title="settings:cms:structure_editor:template">макета страницы</a> |
{$data} | Данные контента полученные элементом для вывода во <a href="/doku.php?id=glossary:frontend" class="wikilink1" title="glossary:frontend">фронт-энд</a>. |
{foreach from=$data item=field key=key}{$key}={$field}<br>{/foreach} | Вывод всех полей данных контента и их значений |
Настройки текущего блока | |
{$id} | ID блока |
{$block_title} | Заголовок блока |
{$block_description} | Описание блока |
{$block_template} | <a href="/doku.php?id=settings:cms:structure_editor:template" class="wikilink1" title="settings:cms:structure_editor:template">Шаблон</a> блока |
{$date_create} | Дата создания блока |
{$elements_count} | Количество <a href="/doku.php?id=settings:cms:structure_editor:element" class="wikilink1" title="settings:cms:structure_editor:element">элементов</a> в блоке |
{$template_title} | Заголовок <a href="/doku.php?id=settings:cms:structure_editor:template" class="wikilink1" title="settings:cms:structure_editor:template">шаблона блока</a> |
{$elements} | Массив настроек <a href="/doku.php?id=settings:cms:structure_editor:element" class="wikilink1" title="settings:cms:structure_editor:element">элементов</a> текущего блока |
Например, для новостей доступны следующие переменные:
- id=Array
- entity_id=Array
- news_title=Array
- news_anounce=Array
- news_content=Array
- date_create=Array
- date_modify=Array
- is_deleted=Array
- enabled=Array
- is_scheduled=Array
- schedule_from=Array
- schedule_to=Array
- image_small=Array
- image_large=Array
- image_mode=Array
- is_rss=Array
- sequence=Array
- site_id=Array
- module_name=Array
Элементы макета страницы
Элемент макета страницы в общем случае выполняет функции по выбору контента, введенному пользователем CMS (см. Редактор контента), удовлетворяющему настройкам элемента и формированию выходного HTML-потока с применением шаблона для подстановки его в место, указанное в макете страницы. Для группировки HTML-потоков, формируемых элементами с применением шаблона, используются блоки элементов. Для этого в настройках элемента следует указать, к какому блоку он относится.
Настройки элемента макета страниц
- Заголовок — заголовок элемента.
- Описание — описание элемента.
- Информационный блок — блок, в котором будет отображаться элемент.
- Пользовательское имя объекта — имя объекта, по которому можно будет обратиться к нему из шаблона страницы. Если имя задано, то в процессе наследования элементов макета страниц элементы с одинаковыми именами будут заменяться, а не добавляться к ранее существующим.
- Режим создания объекта — данный параметр влияет на поведение объекта при наследовании элементов макета страниц. Если указано «Наследовать далее», то данный элемент будет наследоваться, иначе он будет создан только при формировании HTML-потока во фронт-энде только на основе текущего макета.
- Экземпляр модуля — экземпляр модуля, из которого будет выбираться контент для вывода текущим элементом.
- Язык элемента — если выбрать какой-либо язык, то данный элемент будет отображаться только в случае, если язык системы совпадет с текущим.
- Задействовать расписание — если выбран данный пункт, то элемент будет отображаться только в указанный интервал дат.
- Включено — включить или выключить элемент.
Элемент создается в 2 этапа. После того, как вы нажмете кнопку «Создать», элемент перейдет в режим настройки дополнительных параметров, о чем будет выдано соответствующее предупреждение.
Появятся дополнительные поля:
- Режим отображения содержимого — это список различных вариантов выборки контента, доступных для выбранного экземпляра модуля. После изменения данного параметра в форме автоматически появятся поля данных, специфические для текущего режима отображения.
Внимание! Элемент, созданный на основе режима отображения «Внедренный объект системы» экземпляра модуля «Системные функции», не будет наследоваться между макетами страниц и должен быть создан непосредственно на макете страницы, для которого планируется его использование, т.к. он является специальным маркером, идентифицирующим макет страницы как пригодный для интеграции построенного на его основе контента с системными функциями Nemo.Travel.
- Шаблон — шаблон, который будет применен к контенту;
- Фильтр — дополнительные фильтры, с помощью которых можно управлять видимостью элемента специфичным для определенного фильтра образом.
Шаблон элемента модуля
Этот элемент страницы отвечает за подготовку данных для вывода во фронт-энд и применения к ним шаблона. Данные, которые передаются в шаблон, зависят от полей «Экземпляр модуля» и «Режим отображения содержимого».
Пример шаблона модуля «Новости» для режима «Определенная новость»
<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} | Заголовок шаблона |
Макеты страниц
Макет страницы — это некая сущность, определяющая, какие данные будут отображаться на странице фронт-энда, построенной на основе данного макета. Он также задает HTML-верстку для размещения этих данных путем назначения шаблона каждому макету страницы. Для редактирования макетов страниц используется раздел «Управление сайтом» → «Nemo CMS» → «Макеты страниц».
Для указания того, какие данные стоит выводить во фронт-энде, каждый макет страницы имеет связанный набор элементов. Макеты страниц имеют иерархическую структуру, что дает возможность администратору сформировать логическую структуру сайта, а также позволяет реализовать механизм наследования элементов по пути. Свойства макета страницы изображены на рисунке.
Настройки макета страницы
- Заголовок — заголовок макета страницы.
- Описание — описание макета страницы.
- Родитель — владелец страницы в иерархической структуре, используется для наследования элементов макетов страниц.
- Шаблон — шаблон HTML с версткой данного макета страницы.
- Режим создания элементов страницы — при формировании выходного потока во фронт-энд на основе макета страницы сперва загружаются элементы всех макетов, начиная с корневого и до текущего, кроме тех, у которых данный параметр установлен в значение «Не наследовать далее», и лишь после этого — элементы текущего макета.
- Включено — включить или выключить макет страницы.
При нажатии на заголовок макета в структуре отображается список элементов данного макета.
Шаблоны макетов страниц
Макет страницы отвечает за формирование выходного HTML-потока во фронт-энд. Для этого применяется шаблон, в ключевые места которого макет страницы может разместить HTML-поток какого-либо элемента страницы и/или блока элементов.
Для этого используются функции {cms_render_block id=ID блока}
и {cms_render_element id=ID элемента}
.
Пример шаблона макета страницы
<table width="100%" > <tr> <td colspan="3">{cms_render_block id=1}</td> </tr> <tr> <td>{cms_render_element id=1}</td> <td>{cms_render_element id=2}</td> <td>{cms_render_element id=3}</td> </tr> <tr> <td colspan="3">{cms_render_block id=2}</td> </tr> </table>
http://sitedomain/index.php?go=content&page=ID[¶m1=&...¶mN=]где ID — идентификатор макета страницы, который должен быть отображен (если он не задан, то используется значение по умолчанию (см. п. Настройки сайта)) , sitedomain – домен, который задан в настройках агентства.
Переменные и выражения, доступные в шаблонах макета страницы
Имя переменной | Значение |
---|---|
{$site} | Настройки сайта |
{$page} | Настройки макета страницы |
{$title} | Заголовок макета страницы |
{$page_path} | Массив настроек макетов страниц от корневого до текущего |
{$elements} | Массив настроек элементов текущей страницы с учетом наследования |
{$blocks} | Массив настроек блоков элементов сайта |
{foreach from=$data item=field key=key}{$key}={$field}<br>{/foreach} | Вывод элементов массива (в шаблоне макета страницы для вывода всех полей настроек соответствующего объекта вместо “data” могут применяться “site”, “page”) |
Настройки сайта | |
{$site.site_title} | Заголовок сайта |
Настройки макета страницы | |
{$page.page_title} | Заголовок шаблона страницы |
{$page.page_description} | Описание шаблона страницы |
{$page.date_create} | Дата создания |
{$page.elements_count} | Количество элементов |
{$page.page_template} | Шаблон |
{$page.template_title} | Заголовок шаблона |
Шаблоны
Шаблон – это текст формате HTML с мета-вставками, соответствующими синтаксису движка шаблонов Smarty и указывающими места, в которые будут подставляться поля данных контента и/или каких либо других объектов. Каждый сайт, построенный с помощью Nemo CMS, имеет связанный с ним список шаблонов.
Редактирование списка шаблонов сайта доступно из раздела «Управление сайтом» → «Nemo CMS» → «Шаблоны».
Для создания нового шаблона нажмите на ссылку «Создать шаблон».
Настройки шаблона
- Файл шаблона — физическое имя файла, в котором сохраняется шаблон.
- Заголовок шаблона — понятный для пользователя текстовый заголовок шаблона, который будет использоваться при выводе списков шаблонов для блоков, элементов и макетов страниц.
- Шаблон — HTML-верстка шаблона.
- Использовать WYSIWYG редактор — переключение редактора шаблона с ввода текста на работу с визуальным редактором (иногда это необходимо, т.к. визуальные редакторы могут менять верстку и обрезать теги и их атрибуты самостоятельно, что не всегда требуется).
Файлы шаблонов
Говоря о шаблонах, отдельно стоит остановиться на таком параметре как «Файл шаблона». Имена шаблонов могут быть любыми, но для того, чтобы они могли быть использованы в качестве шаблонов элементов, блоков и макетов страниц, они должны соответствовать определенному формату. Для упрощения задачи формирования корректного, с точки зрения системы, имени файла рекомендуется использовать конструктор. Для того, чтобы начать работу с конструктором имени файла шаблона нажмите на ссылку «Конструктор» у соответствующего поля.
Если необходимо создать шаблон для блока элементов, то нужно выполнить следующие действия:
- В поле Применяемость выбрать пункт «Блок».
- В поле Суффикс ввести уникальную строку, идентифицирующую ваш шаблон.
После того, как вы выполнили эти действия, в поле имени файла будет сформировано корректное имя файла шаблона, который можно будет использовать с блоками элементов.
Внимание! Для имен файлов шаблонов используйте только латиницу, а также не используйте знаки препинания, пунктуации и символ пробела.
Для создания шаблона для макета страницы используется аналогичная методика:
- В поле Применяемость выбрать пункт «Страница».
- В поле Суффикс ввести уникальную строку, идентифицирующую ваш шаблон.
Как видно на рисунках, в зависимости от применяемости шаблона к имени добавляется префикс «block» или «page» для блока и макета страницы соответственно.
В случае с шаблонами элементов макета страницы появляются дополнительные параметры:
- В поле Применяемость выбрать пункт «Страница».
- В поле Модуль выбрать модуль, для которого будет использован данный шаблон.
- В поле Формат выбрать тип данных, который будет представлять шаблон.
- В поле Суффикс ввести уникальную строку, идентифицирующую ваш шаблон.