PHP-шаблонизатор

В MaxSite CMS php-шаблонизатор используется для небольших вставок PHP в HTML или простой текст, например в формах или опциях.

Шаблонизатор представляет собой две служебные конструкции.

{{ 'текст' }}

Будет преобразовано в

<?= 'текст' ?>

что в свою очередь эквивалентно

<?php echo 'текст'; ?>

Данная конструкция {{ }} используется там, где нужно вывести переменную, функцию или строку сразу в браузер.

Вторая конструкция позволяет выполнять произвольный PHP-код.

{% echo 'текст'; %}

будет заменено на

<?php echo 'текст'; ?>

То есть код просто обрамляется php-тэгами.

Работа PHP-шаблонизатора обеспечивается функциями mso_tmpl_prepare() и mso_tmpl().

Выполнение произвольного текста:

$text_tmpl = '{{ getinfo("siteurl") }}'; // исходный код (например из опции)
eval(mso_tmpl_prepare($text_tmpl)); // выполнение

Выполнение текстового файла (по его содержимому):

eval(mso_tmpl('my.html')); // выполнение файла
Обратите внимание, что сами функции шаблонизатора не производят выполнение кода, а только преобразуют его до корректного php-кода. Само выполнение обеспечивается за счёт стандартной функции eval().