パンプキンスパイスラテ

IT系のことが多めの日記帳です

管理画面での「MTInclude」のファイルパスの基準点について

一般画面で<$MTInclude file="filename.ext"$>を使うと、指定されたファイルは「ブログのindex.htmlの位置」から見た相対パスで読み込まれるが、管理画面のテンプレートファイルで使うとどうだろうか。


試してみた。


結果、「CGIプログラムを配置したパスの位置」から見た相対パスで読み込まれるみたい。


というわけで、インデックステンプレートで生成されたファイルを管理画面で表示させるには、

<mt:Setvarblock name="hogehoge"><$mt:BlogRelativeURL$>filename.ext</mt:Setvarblock>
<$mt:Include file="$hogehoge"$>

とする。
MTSetvarblockで変数hogehogeにファイルのパスをセットして、MTIncludeで表示。


もし複数のブログが存在するなら、

<mt:MultiBlog include_blogs="1">
<mt:Setvarblock name="hogehoge"><$mt:BlogRelativeURL$>filename.ext</mt:Setvarblock>
<$mt:Include file="$hogehoge"$>
</mt:MultiBlog>

のように、MTMultiBlogを使用してブログid指定してから、パスを取得する。

もっと簡単な方法はないかなぁ。

参考 WingMemo: MTInclude内のファイルパス

http://taeko.w-museum.com/wing/200702091421.html