• 締切済み

Text::Xslateのパスについて

【ファイルパス】 /home/template/test.pm /home/template/test.html 【test.pm内容】 $incFile = "test.txt"; $test->render(   'test.html', {incFile => $incFile}, ); 【test.html内容】 [% INCLUDE $incFile %] 上記の場合、pathを設定していない「test.html」のパスは 「/home/template/test.html」になると思います。 このような状態で「test.html」のincludeファイル「/home/inc/test.txt」を 読み込むことは可能でしょうか? ※ $incFile = "../test.txt"; のように上位ディレクトリを指定した場合にはエラーが発生しました。

みんなの回答

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

my $test = Text::Xslate->new( syntax => 'TTerse', tag_start => '[%', tag_end => '%]', path => [ '/home/template', '/home/inc', ], ); my $incFile = 'test.txt'; ... のようにテンプレートの存在するパスを指定したらどうでしょうか。

green64
質問者

お礼

返答が遅くなり申し訳ありません。 試したところ、エラーが出てしまいました。 なので違う方法で何とか指定することができました。

green64
質問者

補足

回答ありがとうございます。 試してみます。 補足になりますが path => [ '/home/template', '/home/inc', ], ではありませんが、 path => [ '/home/inc', ], と記載して実行した場合だと 「test.html」のパスが 「/home/template/home/inc/test.html」になってしまいました。 別ディレクトリの場合だと二つパスを書く必要があるのでしょうか?

関連するQ&A