1564
правки
Изменения
Нет описания правки
'''Фронт-энд''' - это страницы системы, отображаемые пользователям в процессе осуществления поиска, бронирования, оплаты, аннуляции и т.п. Фронт-энд не предоставляет пользователями возможностей изменения каких-либо настроек системы.
== Макеты страниц в Nemo ==
Макет страницы - это некая сущность, определяющая, какие данные будут отображаться на странице фронт-энда, построенной на основе данного макета, также задает HTML-верстку для размещения этих данных путем назначения шаблона каждому макету страницы. Для редактирования макетов страниц используется раздел '''«Управление контентом - Макеты страниц»'''.
Для указания того, какие данные стоит выводить во фронт-энде, каждый макет страницы имеет связанный набор элементов. Макеты страниц имеют иерархическую структуру, что дает возможность администратору сформировать логическую структуру сайта, а также позволяет реализовать механизм наследования элементов по пути.
== Настройки макета страницы ==
*'''Заголовок''' - заголовок макета страницы;
*'''Описание''' - описание макета страницы;
*'''Родитель''' - владелец страницы в иерархической структуре (используется для наследования элементов макетов страниц);
*'''Шаблон''' - шаблон HTML с версткой данного макета страницы;
*'''Режим создания элементов страницы''' - при формировании выходного потока во фронт-энд на основе макета страницы сперва загружаются элементы всех макетов, начиная с корневого и до текущего, кроме тех, у которых данный параметр установлен в значение '''«Не наследовать далее»''', и лишь после этого - элементы текущего макета.
*'''Включено''' - включить или выключить макет страницы.
При нажатии на заголовок макета в структуре, отображается список элементов данного макета.
== Шаблоны макетов страниц ==
Макет страницы отвечает за формирование выходного HTML-потока во фронт-энд. Для этого применяется шаблон, в ключевые места которого макет страницы может разместить HTML-поток какого-либо элемента страницы и/или блока элементов.
Для этого используются функции {cms_render_block id=ID блока} и {cms_render_element id=ID элемента}.
'''Пример шаблона макета страницы:'''
<pre><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></pre>
<span style="color:#ff0000;">!</span> URL для доступа к фронт-энду из браузера имеет следующий формат:
<pre>http://sitedomain/index.php?go=content&page=ID[¶m1=&...¶mN=]</pre>
где ID- id макета страницы, который должен быть отображен (если он не задан, то используется значение по умолчанию) , sitedomain – домен, который задан в настройках агентства.
== Переменные и выражения, доступные в шаблонах макета страницы ==
<table border="1">
<tr bgcolor="#cccccc">
<th> Имя переменной </th><th> Значение </th>
</tr>
<tr>
<td > {$site} </td><td> Настройки сайта </td>
</tr>
<tr>
<td> {$page}</td><td> Настройки макета страницы </td>
</tr>
<tr>
<td>{$title} </td><td> Заголовок макета страницы </td>
</tr>
<tr>
<td>{$page_path} </td><td> Массив настроек макетов страниц от корневого до текущего </td>
</tr>
<tr>
<td>{$elements} </td><td> Массив настроек элементов текущей страницы с учетом наследования </td>
</tr>
<tr>
<td>{$blocks} </td><td> Массив настроек блоков элементов сайта </td>
</tr>
<tr>
<td>{foreach from=$data item=field key=key}{$key}={$field}<br>{/foreach}</td><td> Вывод элементов массива (в шаблоне макета страницы для вывода всех полей настроек соответствующего объекта вместо “data” могут применяться “site”, “page”)</td>
</tr>
<tr bgcolor="#cccccc">
<th colspan="2">Настройки сайта </th>
</tr>
<tr>
<td>{$site.site_title} </td><td class="col1"> Заголовок сайта </td>
</tr>
<tr bgcolor="#cccccc">
<th colspan="2">Настройки макета страницы </th>
</tr>
<tr>
<td>{$page.page_title} </td><td> Заголовок шаблона страницы </td>
</tr>
<tr>
<td>{$page.page_description} </td><td> Описание шаблона страницы </td>
</tr>
<tr>
<td>{$page.date_create} </td><td> Дата создания </td>
</tr>
<tr>
<td>{$page.elements_count} </td><td>Количество элементов </td>
</tr>
<tr>
<td>{$page.page_template} </td><td> Шаблон </td>
</tr>
<tr>
<td>{$page.template_title} </td><td> Заголовок шаблона </td>
</tr>
</table>
== См. также ==
[[Веб-страница]]