Использование пакета 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.
Обсуждение