top

MTInclude内のファイルパス

<$MTInclude$>はアトリビュートfile="file_name"を使って外部ファイルを読み込むことができます。外部ファイルのパスにはhttp://~で始まるURLを指定することは出来ませんので、相対パス・絶対パスでファイルのアドレスを指定することになります。

ところで、この「相対パス・絶対パス」ってどのファイルから見た位置で書けばいいのでしょう?

実は今までちょっと勘違いしていたところもあったので、その辺を少しまとめてみたいと思います。

■インデックス・テンプレートでindex.htmlと同階層に作成したファイルの場合
ファイル名が include.html なら、以下の記述だけでOKです。

<$MTInclude file="include.html"$>

これはどんなに深い階層のファイルから読み込む場合でも無関係にこの書き方でかまいません。
というのも、<$MTInclude$>で指定されるファイルは「ブログのインデックスファイルの位置」から見た相対パスで読み込まれるからです。読み込む側のファイルの位置がindex.htmlと同階層であろうが、2007/02/09/であろうが、cat1/であろうが変わりません。

■index.htmlの一つ下の階層に作ったファイル
ディレクトリ名がhogeならば、以下のようになります。

<$MTInclude file="hoge/include.html"$>

どの階層からでも読み込まれるファイルは一律「インデックスファイルから見た位置」です。

■index.htmlの一つ上の階層にあるファイル

<$MTInclude file="../include.html"$>

■同じサーバー内にある他のドメインのファイル
同じサーバー内であれば絶対パスでファイルの位置を指定することで、読み込むことが出来ます。

<$MTInclude file="/サイトの絶対パス/include.html"$>

ということで、<$MTInclude$>が読み込むファイルは、読み込む側の各ファイルの位置からではなく、「ブログのindexファイルが置かれているところ」が起点になります。意外にシンプルな仕様になっていたんですね。

 

トラックバックURL

トラックバックされる際にはこの記事へのリンクをお願い致します

コメントを投稿

 


 <注意>
 ご利用のブラウザ、設定ではコメントのプレビューおよび投稿はご利用になれません。
 コメント投稿の際はお手数ですがjavascriptをオンにして下さい。
 *javascriptオフのまま投稿ボタンを押すと送信内容が消えますのでご注意下さい。