- 締切済み
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"; のように上位ディレクトリを指定した場合にはエラーが発生しました。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 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'; ... のようにテンプレートの存在するパスを指定したらどうでしょうか。
お礼
返答が遅くなり申し訳ありません。 試したところ、エラーが出てしまいました。 なので違う方法で何とか指定することができました。
補足
回答ありがとうございます。 試してみます。 補足になりますが path => [ '/home/template', '/home/inc', ], ではありませんが、 path => [ '/home/inc', ], と記載して実行した場合だと 「test.html」のパスが 「/home/template/home/inc/test.html」になってしまいました。 別ディレクトリの場合だと二つパスを書く必要があるのでしょうか?