Выбор шаблонизатора: Smarty или PHP?

Прежде чем начать разрабатывать шаблоны сайта, вы должны определиться, какой шаблонизатор (движок шаблонов) будет применяться: Smarty или PHP.

По умолчанию Blox CMS настроена на работу с php-шаблонами. Если вы захотите использовать smarty-шаблоны, то это нужно отметить в конфигурации сайта (в главном файле index.php).

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

Однако, сложные операции в Smarty становятся очень громоздкими, а иногда и вовсе невозможными. В таких случаях всегда можно перейти на php-шаблон, так как на одном сайте могут одновременно работать шаблоны обоих типов. Чтобы сделать исключение для отдельного шаблона, и перейти на php-шаблон, в дескрипторе этого шаблона нужно объявить параметр: $params['templater'] = 'PHP'. И, наоборот, если для всего сайта задан шаблонизатор PHP, то для того, чтобы использовать smarty-шаблон, этому параметру нужно присвоить значение 'Smarty'.

Преимуществом php-шаблонов является то что вы сможете использовать весь арсенал средств PHP, а он, естественно, гораздо шире, чем у Smarty. В данном справочнике все примеры приведены с использованием php-шаблонов.


См. также