ダイナミックパブリッシングでクエリー付URLをインクルードする

MovableTypeのダイナミックパブリッシングでは、スタティック同様、MTIncludeが使える。そのMTInclodeでも、モジュールを読み込む場合とスタティックファイルを読み込む場合とで記述が違う。


  • モジュール読み込みの場合


< $mt:Include module="最近のコメント"$>

という風にテンプレートモジュール名を指定する。日本語の使用も可能です。


  • スタティックな場合


< $mt:Include file="comment.php"$>

と記述すると、BlogURL/comment.php というファイルが読み込まれる。
上記のように、<$mt:Include file="xxxx"$>の場合、ブログのトップページ、すなわちMTBlogURLが基準となる。

しかし、スタティックなファイルでもPHPファイルのように、クエリーを指定したい場合、MTIncludeは使えない。というか、やってみたが「ファイルが見つかりません」と怒られる。

で、クエリー付URLを開くという動作でまかなうことにした。

結局やりたいのは以下のようなタグである。

< $mt:Include file="wiki.php?term='< $MTTagName$>'"$>

これだとファイルが見つかりませんと怒られるので、以下のようにしてみた。

{{capture name="filename"}}
< $mt:BlogURL$>wiki.php?term= '< $MTTagName$>'
{{/capture}}
{{fetch file="`$smarty.capture.filename`"}}

こうすることでクエリー付きURLをインクルードすることができた。