В этом руководстве рассмотрены особенности интеграции дизайна.
На этом этапе структура требуемого сайта должна быть сформирована и необходимые дополнительные элементы (блоки) созданы. Сайт уже готов и функционален, остается «одеть» его в нужный дизайн. Уровень представления в Astra.CMS обособлен от уровня формирования данных, поэтому вмешиваться в исходные коды модулей не потребуется. На уровне проектирования шаблонов необходимо только описать правила, по которым из исходных данных будут формироваться страницы. К отдельному изучению рекомендуется язык шаблонов Smarty.
Итак, после всех действий по созданию разделов и блоков и заполнения некоторых данных, переходим из панели управления на внешний сайт, и приступаем к работе с шаблонами представления.
Для всех разделов или блоков, которые создавались, автоматически уже были созданы базовые шаблоны поэтому сайт будет представлен в «голом» схематическом виде.
Для того чтобы начать работать с шаблонами представления, нужно знать где они находятся. Существует два пути редактирования шаблонов.
Первый способ, как правило, используется для небольших корректировок уже интегрированного дизайна. Для внедрения дизайна с нуля преобладает второй способ. При этом, чтобы потом иметь возможность экспортировать конфигурацию сайта, и потом без проблем импортировать в другую систему, важно соблюдать одно правило:
Посмотрим содержимое каталога /templates/[mysiteid]/
Язык шаблонов Smarty, позволяет собирать итоговый шаблон из нескольких файлов. Это позволяет, например, выделить области, которые одинаковые для всех страниц сайта в отдельные файлы. Обычно это верхняя часть сайта (шапка), колонки и нижняя часть (подвал). По умолчанию создается именно такой набор шаблонов.
Остальные шаблоны, описывают уже полные страницы, с использованием включения вышеописанных фрагментов и своих индивидуальных данных. Например:
{* Простой шаблон страницы для раздела на базе модуля "Страницы". *} {include file="_header.tpl"} {* Шапка страницы. *} <h1>{$page.name}</h1> {* Название страницы. *} {$page.content} {* Текст страницы. *} {include file="_footer.tpl"} {* Подвал страницы. *}
Такой подход удобен тем, что в случае изменений в шапке сайта, придется поменять только один файл. Плюс к этому позволяет делать шаблоны страниц более компактными. Однако язык Smarty хорош и тем, что предоставляет полную свободу действий в рамках доступных данных, поэтому для более сложного дизайна, возможно и использование цельных страниц в каждом таком шаблоне.
Каждый из созданных разделов имеет свой набор типов страниц, для каждой из которых назначается файл шаблона. Кроме этого, свои шаблоны назначаются для блоков, которые обрабатываются отдельно и интегрируются в html код страниц.
Переопределять, в случае необходимости, шаблоны для страниц, назначенные по умолчанию, можно в секции «Сайт» → «Типы шаблонов» панели управления. Там же можно их и редактировать через веб-редактор. Для блоков шаблоны назначаются в секции упрваления блоками - «Сайт» → «Блоки».
Как уже говорилось выше - каждый шаблон закрепляется за определенным типом страницы от конкретного раздела. Отличаются эти типы наборами доступных в них данных.
Например, существует раздел «Новости» (news) на базе модуля "Каталог материалов". Он будет иметь три типа страниц, по умолчанию это:
Каждый из этих шаблонов имеет свой набор данных, который включает общие (глобальные) данные, которые доступны на всех страницах, а так же индивидуальные, которые зависят от типа страницы и модуля на котором построен раздел.
Читайте далее, про анализ исходных html шаблонов и их интеграцию.