Создание шаблонов

Файловая структура шаблонов

Пример файловой структуры шаблонов приведён ниже:

templates/
    default/
        images/
        template.php
        404.php
        styles.css
    sometheme/
        images/
        template.php
        mainpage.php
        stylesheet.css

Тема сайта

Темы для сайта располагаются в папке templates. Каждая тема должна иметь как минимум один шаблон с названием template, файл template.php.

Для того чтобы выбрать тему сайта, необходимо в конфигурационном файле указать ее название. Например, если необходимо сменить тему сайта на sometheme, то в файле /zengine/config.ini нужно изменить следующую строчку (выделена жирным):

[template]
; тема сайта
theme = sometheme

Тогда на сайте будет использоваться тема sometheme.

Настройки шаблона

По умолчанию система будет искать шаблон template в используемой теме. Если в свойствах страницы задан другой шаблон, то будет использован он. Например, для следующей страницы будет использоваться шаблон mainpage:

@@title=Главная страница
@@template=mainpage
Текст главной страницы

Система будет искать шаблон с названием файла mainpage.php. Если данный шаблон не будет найден в текущей теме, то будет произведен поиск в теме default. Если и там нет указанного шаблона, то будет выдано сообщение об ошибке.

Шаблон страницы

Файл шаблона страницы содержит HTML-разметку со вставками PHP-кода. Ниже представлен пример базового шаблона, входящего в дистрибутив системы:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<?php z_head(); ?>
<link rel="stylesheet" type="text/css" href="~ztpl/styles.css" />
</head>
<body>
<div id="wrapper">
<div id="header"></div>
<div id="content"><div id="content-inner">
<div id="breadcrumbs"><?php z_breadcrumbs(); ?></div>
<h1><?php z_h1(); ?></h1>
<?php z_content(); ?>
<?php z_subpages(); ?>
</div></div>
<div id="leftcolumn">
<?php z_menu(); ?>
</div>
<div id="footer">
<div id="sitemap"><?php z_sitemap(); ?></div>
<div id="copyrights">&copy; 2008 <a href="http://blog.zebrum.ru/">Zebrum.ru</a> - если сайтов много<br />
Сайт работает на <a href="http://blog.zebrum.ru/">Zebrum Lite</a></div>
</div>
</div>
</body>
</html> 

Автоматическая замена ссылок

Для упрощения написания шаблонов в системе используются следующие автоматически замены:

~/ – URI корня сайта;
~ztpl/ – URI папки текущего шаблона.

Например, если наш сайт лежит в папке zebrum_lite, то путь ~/ будет автоматически заменен на /zebrum_lite/, а ~ztpl/styles.css на /zebrum_lite/templates/default/styles.css. Пример использования:

<a href="~/">Главная страница</a>
<link rel="shortcut icon" href="~/favicon.ico">
<link rel="stylesheet" href="~/css/screen.css">
<script type="text/javascript" src="~/js/scripts.js"></script>