Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Шаблонизатор Amiro.CMS

API предоставляет два вида шаблонизаторов – полный и облегченный.

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

Полный шаблонизатор AMI_TemplateSystem рекомендуется использовать, только если базовым функционалом обойтись заведомо невозможно.

В вашем коде достаточно использовать облегченный шаблонизатор если:

  • Скрипт является некэшируемым, важна скорость обработки шаблона (типовой пример – скрипт для отдачи быстрых AJAX запросов).
  • Шаблоны содержат только заменяемые переменные типа ##name##, ##link## и т.д. Поддержка специальных конструкций ##if(...)##, ##include_template...##, ##setvar...## и т.п. в лёгком шаблонизаторе отсутствует.
  • Шаблон не содержит конструкции подключения языковых файлов, например %%include_language...%%. Все языковые файлы должны быть добавлены в PHP коде. Тем не менее языковые переменные типа %%caption%% обрабатываются.
  • Шаблоны лежат только на диске (не в базе данных).

Типовые операции с шаблонами 

Облегченный шаблонизатор:

Операция

Пример вызова

Создание объекта

$oTpl = AMI::getResource('env/template');

Добавление шаблона

$oTpl->addBlock('my_block', 'templates/my_tpl.tpl');

Парсинг шаблона

$str = $oTpl->parse('my_block:my_set', $aScope);

Парсинг языкового файла

$aLang = $oTpl->parseLocale('templates/lang/my_lang.lng');

Полный шаблонизатор:

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

Операция

Пример вызова

Создание объекта

$oTpl = AMI::getResource('env/template_sys');

Переключение источника шаблонов

$oTpl->setLocationSource('templates', 'db');

Операции добавления и парсинга шаблона и языковых файлов выполняются аналогично.

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2019 © Amiro.CMS Все права защищены.