Содержание

Рендеринг WACT шаблона. Использование пакета WACT

Использование пакета WACT отдельно, отличается от его использования с пакетом WEB_APP, поэтому мы выделили отдельный раздел.

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

WACT считывает настройки из папки, которую определяет константа WACT_DEFAULT_CONFIG_DIR. Константа определяется в файле limb/wact/common.inc.php. При помощи этой константы указывается путь до директории, где хранится файл settings.ini с настройками компилятора. В своем приложении вам необходимо будет переопределить эту константу WACT_DEFAULT_CONFIG_DIR и указать путь до папки, где будет лежать ваш файл settings.ini. Эталон можно взять из папке limb/wact/settings/

Пример файла с настройками:

# should template compiler scan for tags, filter and properties every time
force_scan = 0
 
# should template compiler recompile templates every time
force_compile = 1
 
# absolute path to your wact templates cache dir
#cache_dir = limb/wact/cache/
 
# directory where template compiler looks for source templates
templates_dir = templates/
 
# directories where all compiler looks for tags, filters and properties
[scan_directories]
 0 = limb/wact/src/tags
 
# list of sax filters that can be applied to compiled template
# see limb/wact/src/compiler/sax_filters
[sax_filters]

Поясним значения опций:

Инициализация и рендеринг шаблона

Шаблон инициализируется путем создания экземпляра класса WactTemplate() и передачей ему пути до шаблона. Шаблонизатор находит шаблон и компилирует его при необходимости. После инициализации шаблона можно передавать в него переменные, изменять состояние компонентов и т.д. Для вывода отработанного шаблона используется метод WactTemplate :: display(), а для получения результата отбработки можно использовать метод WactTemplate :: capture().

Например:

<?php
require_once 'limb/wact/common.inc.php';
require_once 'limb/wact/src/WactTemplate.class.php';
 
$page = new WactTemplate('page1.html');
$page->set('title', 'Super page');
$page->display(); 
?>

Где посмотреть примеры

Примеры работы шаблонизатора можно посмотреть в папке limb/wact/examples/. Для того чтобы запустить примеры необходимо создать виртуальный хост на эту папку. Подробности см. в файле README.