На Deep-CMS «напал»:

Typical Programmer

Работа с шаблонами

Теперь можно приступить непосредственно к наполнению шаблонов. Рассмотрим типовое наполнение основных частей шаблонов в нашей созданной в предыдущей статье теме «main-theme».

Данные доступные в шаблоне

В Deep-CMS все необходимые данные уже доступны в шаблоне. В частности это переменные документа, идентификаторы пользователя и конфигурационные переменные.

Для начала давайте откроем файл application/layouts/themes/main-theme/public/page.html и напишем в нем вот такой код:

<?=$page_text?>

Вот и все — содержимое страницы уже должно выводиться на сайт. Давайте теперь добавим h1-заголовок документа:

<h1><?=$page_h1?></h1>
<div><?=$page_text?></div>

Вот так все просто. Теперь у нас выводятся заголовок и текст страницы. Кроме заголовка и текста страницы есть еще огромное количество переменных текущего документа доступных в шаблоне. Полный список можно посмотреть тут.

Подключение частей шаблонов (подшаблонов)

Мы уже успели ранее создать две главные части шаблонов: header.html и footer.html. Как же их подключить к шаблону page.html? Это очень просто. В php существуют стандартные способы подключения файлов внутрь других так, будто это целый файл. Этим стандартным способом мы и воспользуемся.

Однако есть и нюансы: все шаблоны должны подключаться именно конструкцией require, остальные конструкции (require_once, include, include_once) при подключении использовать запрещено. Это обусловлено внутренней структурой приложения в пользу других возможностей.

Не всегда известно какая из тем сейчас активна. А писать полные пути не очень удобно, вдруг Вы решите переименовать тему. Тогда пути к шаблонам изменятся и придется редактировать эти пути в шаблонах. Deep-CMS предоставляет некоторое удобство для подключения шаблонов, в системном окружении доступны следующие переменные:

  • $_config->layouts->parts
  • $_config->layouts->header
  • $_config->layouts->footer

Первая из них позволяет подключать шаблоны из директории «parts» в контексте текущей темы. Выглядит это следующим образом:

<?php require $_config->layouts->parts . 'top-menu.html'; ?>

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

Две оставшиеся переменные подключают соответственно header.html и footer.html. Эти два подшаблона можно подключить и с помощью первой переменной — они ведь лежат в директории «parts», тем не менее, чтобы было немного короче, используйте эти специальные переменные.

Вот так будет выглядеть наш шаблон page.html с подключением «шапки» и «подвала»:

<?php require $_config->layouts->header; ?>
    <h1><?=$page_h1?></h1>
    <div><?=$page_text?></div>
<?php require $_config->layouts->footer; ?>

В данный момент предполагается что шаблоны «шапка» и «подвал» у нас пустые. Соответственно туда нужно добавить htlm-код.

Это у нас будет «шапка»:

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Keywords" content="<?=$meta_keywords?>" />
    <meta name="Description" content="<?=$meta_description?>" />
    <title><?=$page_title?></title>
  </head>
  <body>

Как видно из примера, мы использовали некоторые предопределенные переменные документа: $meta_keywords, $meta_description и $page_title. С ними наша страница уже будет выглядеть правильно с точки зрения SEO-требований.

А это «подвал»:

  </body>
</html>

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

Deep: 2014-02-15 01:52:47 (обновлено 2014-02-16 10:26:15)

Оставить комментарий

Комментарии:

protection