Введение в структуру шаблонов

В этом руководстве рассмотрены особенности интеграции дизайна.

На этом этапе структура требуемого сайта должна быть сформирована и необходимые дополнительные элементы (блоки) созданы. Сайт уже готов и функционален, остается «одеть» его в нужный дизайн. Уровень представления в Astra.CMS обособлен от уровня формирования данных, поэтому вмешиваться в исходные коды модулей не потребуется. На уровне проектирования шаблонов необходимо только описать правила, по которым из исходных данных будут формироваться страницы. К отдельному изучению рекомендуется язык шаблонов Smarty.

Итак, после всех действий по созданию разделов и блоков и заполнения некоторых данных, переходим из панели управления на внешний сайт, и приступаем к работе с шаблонами представления.

Для всех разделов или блоков, которые создавались, автоматически уже были созданы базовые шаблоны поэтому сайт будет представлен в «голом» схематическом виде.

defaultdiz.jpg

Файлы шаблонов

Для того чтобы начать работать с шаблонами представления, нужно знать где они находятся. Существует два пути редактирования шаблонов.

  1. Непосредственно через панель управления, в общем редакторе шаблонов, в который можно попасть через меню «Файлы» → «Шаблоны».
  2. С помощью специальных программ-редакторов. Сами файлы шаблонов стоит искать при этом в /templates/[mysiteid]/ от корневого каталога, в который установлена Astra.CMS.

Первый способ, как правило, используется для небольших корректировок уже интегрированного дизайна. Для внедрения дизайна с нуля преобладает второй способ. При этом, чтобы потом иметь возможность экспортировать конфигурацию сайта, и потом без проблем импортировать в другую систему, важно соблюдать одно правило:

Вся презентационная графика и файлы css стилей должны находиться в том же каталоге, где и smarty шаблоны, обычно это - /templates/[mysiteid]/images/. Это необходимо для возможности корректного экспорта сайта.

Структура шаблонов

Посмотрим содержимое каталога /templates/[mysiteid]/

  • blocks – каталог содержит файлы шаблонов, назначенные для блоков.
  • frames – каталог содержит файлы шаблонов-оберток, назначенные для блоков.
  • mails – каталог содержит файлы шаблонов писем.
  • others – каталог содержит файлы дополнительных шаблонов, например для объекта многостраничной навигации (нумератор страниц).
  • *.tpl – набор файлов шаблонов страниц.

Язык шаблонов Smarty, позволяет собирать итоговый шаблон из нескольких файлов. Это позволяет, например, выделить области, которые одинаковые для всех страниц сайта в отдельные файлы. Обычно это верхняя часть сайта (шапка), колонки и нижняя часть (подвал). По умолчанию создается именно такой набор шаблонов.

  • _header.tpl – фрагмент страницы, содержащий верхнюю часть (шапка) и левую колонку.
  • _footer.tpl - фрагмент страницы, содержащий нижнюю часть (подвал) и правую колонку.

Остальные шаблоны, описывают уже полные страницы, с использованием включения вышеописанных фрагментов и своих индивидуальных данных. Например:

{* Простой шаблон страницы для раздела на базе модуля "Страницы". *}
{include file="_header.tpl"} {* Шапка страницы. *}
 
<h1>{$page.name}</h1> {* Название страницы. *}
 
{$page.content} {* Текст страницы. *}
 
{include file="_footer.tpl"} {* Подвал страницы. *}

Такой подход удобен тем, что в случае изменений в шапке сайта, придется поменять только один файл. Плюс к этому позволяет делать шаблоны страниц более компактными. Однако язык Smarty хорош и тем, что предоставляет полную свободу действий в рамках доступных данных, поэтому для более сложного дизайна, возможно и использование цельных страниц в каждом таком шаблоне.

Назначение шаблонов

Каждый из созданных разделов имеет свой набор типов страниц, для каждой из которых назначается файл шаблона. Кроме этого, свои шаблоны назначаются для блоков, которые обрабатываются отдельно и интегрируются в html код страниц.

Переопределять, в случае необходимости, шаблоны для страниц, назначенные по умолчанию, можно в секции «Сайт» → «Типы шаблонов» панели управления. Там же можно их и редактировать через веб-редактор. Для блоков шаблоны назначаются в секции упрваления блоками - «Сайт» → «Блоки».

Типы шаблонов

Как уже говорилось выше - каждый шаблон закрепляется за определенным типом страницы от конкретного раздела. Отличаются эти типы наборами доступных в них данных.

Например, существует раздел «Новости» (news) на базе модуля "Каталог материалов". Он будет иметь три типа страниц, по умолчанию это:

Каждый из этих шаблонов имеет свой набор данных, который включает общие (глобальные) данные, которые доступны на всех страницах, а так же индивидуальные, которые зависят от типа страницы и модуля на котором построен раздел.

Читайте далее, про анализ исходных html шаблонов и их интеграцию.

 
integration/index.txt · Последние изменения: 29.12.2014 11:16 (внешнее изменение)