Метод для изменения INCLUDE_PATH в Template :: Toolkit на FLY - PullRequest
0 голосов
/ 15 ноября 2010

Если у меня есть предварительно загруженный объект Template :: Toolkit, например в среде mod_perl, есть ли способ изменить массив INCLUDE_PATH без воссоздания объекта?

1 Ответ

2 голосов
/ 15 ноября 2010

Я использую Template :: Provider для этого

my $template_config = {
        INCLUDE_PATH => "/path/to/templates",
        ENCODING => 'utf8',
};



# Create template_provider manually so that we can manipulate template path
# later.
my $template_provider = Template::Provider->new($template_config);

  my $tt = Template->new({
      LOAD_TEMPLATES => [$template_provider ],
      PRE_CHOMP    => 2,
      POST_CHOMP   => 3,
      TRIM         => 1,
      ENCODING     => 'utf8',
    }) || die $Template::ERROR;


# somewhere else later
       $template_provider->include_path([
         "$dir/templates/$language",
         "$dir/templates"]);
...