電子書籍の厳選無料作品が豊富!

【ファイルパス】
/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";
のように上位ディレクトリを指定した場合にはエラーが発生しました。

A 回答 (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」になってしまいました。
別ディレクトリの場合だと二つパスを書く必要があるのでしょうか?

補足日時:2013/01/19 10:17
    • good
    • 0
この回答へのお礼

返答が遅くなり申し訳ありません。

試したところ、エラーが出てしまいました。
なので違う方法で何とか指定することができました。

お礼日時:2013/02/07 12:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!