MT4.15から、サーバ・サイド・インクルード機能が追加されました。
■サーバー・サイド・インクルード | Movable Type 4 ドキュメント
そして、プログラミング、CSS、デザインやMovabletypeなど、幅広い話題の取扱いで有名な「to-R」さんのところで、そのインクルード機能についての話題が出てました。
■MT4.1以下で実現するサーバー・サイド・インクルード[to-R]
上記で色んなメリットが挙げられてるのですが、私も同意見でこの方法はしっかり用いてます。
MTInclude moduleと使い分けながら用いてます。
ちょうど良い機会なので、以前に似たような事を試していた事もあるし、再考してみる事にしました。
■モジュール化ののちの読み込み作業エラー:Materializing
読み込み方法
PHPを用いる場合には幾つかあります。
<?php readfile ("<$MTBlogSitePath$>parts/module_search.php"); ?>
<?php include ("<$MTBlogSitePath$>parts/module_search.php"); ?>
<?php include_once ("<$MTBlogSitePath$>parts/module_search.php"); ?>
<?php require ("<$MTBlogSitePath$>parts/module_search.php"); ?>
<?php require_once ("<$MTBlogSitePath$>parts/module_search.php"); ?>
<?php print file_get_contents("<$MTBlogSitePath$>parts/module_search.php") ?>
上記の場合では、検索フォームの部分だけをパーツ化して読み込ませてる例です。
■module_search.php
<$MTBlogSitePath$>は、サイトまでのサーバ絶対パスを出力してくれます。
なので、絶対パスを基準にして読み込ませたい場合にはこのMTタグを使うと便利かと思います。
そして、過去に調べてるのは以下。
- include・・・エラーの際Warningを出力。更にPHP処理を続行。リモートURLも可
- require・・・エラーの際Fatal Errorを出力。PHP処理を中止。リモートURLも可
- readfile・・・エラーの際FALSEを出力。処理中止。ローカルURL
あと、有用かな?と思える情報がありましたので紹介しておきます。
■PHP: include - Manual
上記のリンク先に書いてあるのですが、自分の場合、単にファイルの読み込みとして・・・とだけの機能を求めてるだけなので、「readfile」を用いてます。
CGI上でInclude
大事な事書かれてました。
cgiで出力されるページはMTIncludeタグのfileモディファイアでインクルードを行います。
例えば検索結果テンプレートなんかが上記に当てはまります。
では「なぜそうなのか?」という点を解説出来たら・・・と思うんですが、出来ません。すいませんほんと。
ただ、雰囲気で似たような事があるんです。
プログラムの処理とか判ってないんでアレなんですが、DynamicPublishing下ではPHPの代わりにSmarty使えますー、っていうのが。
■ダイナミック・パブリッシング下で readfile と同じことする in smarty:Materializing
但し、上記の場合、Perl版DynamicPublishingを導入する事でサラッと行けます。
■Perl版ダイナミック・パブリッシング(MT4用) - The blog of H.Fujimoto
まとめ
MT4.15からは、機能としても搭載されたので、パーツ化・読み込みの方法に更に選択肢が加わりましたね。
標準機能で解説付きなので、導入もし易いかと思いますし。
あとはMT4では「グローバル・テンプレート」機能があります。
これと併せて利用すれば、複数MultiBlogの際に強力な手助けとなりそうです。
それと、to-RさんではhtaccessやXML宣言についても解説されてます。
これも大事なので、ひょいっとリンク先に行って読んで欲しいなぁ、と思います。
追記 2008/04/24 22:23:52
既にキャンセル待ちの公演をお報せして神経逆撫でしそうなのが怖いんですが、to-Rさんがセミナー開催される、とのこと。
■イベント&セミナー情報|PASONA TECH
イベントという事でもうひとつ。
■Movable Typeプラグイン作成入門 [イメディオセミナー]
触ってみたい「Power CMS for MT」や強力プラグイン開発の■Junnama Online (Mirror) さんのセミナーです。