Что такое шаблон для сайта?



Любой сайт состоит из множества страниц, на каждой из которых присутствуют одинаковые элементы: служебная информация, меню, идентичное дизайнерское оформление и так далее. Если задаться целью поменять подобный элемент на всем сайте - скажем, добавить новый пункт в меню, - то придется это действие выполнять на каждой страничке. Если на сайте их 10, то задача не слишком сложная. А если 100 или больше?

Шаблон - это некий макет, реализующий логику отображения материала. В нем можно задать место отображения меню, шапки сайта, основного контента и так далее. Само содержимое элементов, прописанных в шаблоне, задается в скрипте или посредством функционала, предоставляемого системой управления сайтом.

В качестве шаблона можно представить пару документов. В одном файле имеется разметка. Это сам макет, где указано конкретное место размещения того или иного контента. Второй файл отвечает за то, что именно будет отображено. Задача второго документа - проанализировать файл макета и подставить реальные значения переменных.

Эти два документа неотделимы друг от друга, поскольку в противном случае они не так интересны: если запустить файл шаблона, он не выведет никакой полезной информации. То же самое произойдет, если запустить скрипт-обработчик без самого макета.

Как создать шаблон сайта?



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

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

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

Заключение



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