SimpleSite logo
Что это? | Документация | Скачать

SS и шаблоны

Когда-то SS был шаблонизатором. Использовались шаблоны с собственным синтаксисом, который обрабатывался SS::Parser. Однако, SS::Parser крайне неоптимально обрабатывал штуки типа if/loop, поэтому сейчас в качестве шаблонизатора рекомендуется использовать CTPP (http://ctpp.havoc.ru).

Типичный пример представлен ниже


#!/usr/bin/perl
...
use HTML::CTPP2;
local $T    = new HTML::CTPP2();

my $data = {}; 
...
$data->{param1} = 'value1';
$data->{param2} = 'value2';
...
$T->param($data);

$tmpl ||= "index.htm";
my $b = $T->parse_template('./tmpl/'.$tmpl);
my $r = $T->output($b); 

# собственный фильтры, которые добавляют длинные тире 
# и подсветку синтаксиса
$r = filter_emdash($r);
$r = ss_code($r);

print $r;

Здесь $data — ссылка на хеш со всеми переменными (см. соглашение об именовании основных переменных).

© Nick Knutov, 2004-2008