top

ダイナミック・パブリッシング下でPerlのプラグインを使う方法

ダイナミック・パブリッシングではPerlのプラグインが使えません。が、プラグインを使いたい時もありますよね。そういう場合はプラグインを使う部分のみ静的生成してやればダイナミック下でもプラグインが使えるようになります。

ここでは例としてサイドバーにPerlのプラグインを使う方法を述べてみます。サイドバーを静的別パーツとして書き出し、それを<$MTInclude$>タグで読み込む方法を使います。

1.サイドバー用ファイルの作成
メインインデックスのテンプレートで新しいテンプレートを作成し、サイドバーの中身をそっくりそのままコピペしてsidebar.htmlというファイル名で保存・再構築します。
再構築オプションの「インデックス・テンプレートを再構築するときに、このテンプレートを自動的に再構築する」にチェックを入れて、静的生成パーツになるようにします。「このテンプレートをダイナミック・ページにする」はオフにします。

2.サイドバーの埋め込み
サイドバーを表示したい場所に以下のタグを使って埋め込みます。

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

このやり方はサイドバーだけでなく、あらゆるところに応用できます。「Perlのプラグインを使う場所を静的別パーツにして<$MTInclude$>タグで読み込む」のが基本の使い方です。
もちろんこれで全てのプラグインが使えるようになるわけではありませんが、サイドバーで使う類のプラグインやモジュール化できるものならこの方法で全部カバーできます。ダイナミック・パブリッシングでも存分にプラグインを活用して下さい。

なお、この方法は共通部分を別パーツ化することにもなりますから、サイドバーに変更を加えるたびに全部のテンプレートの同じ箇所を修正して回る必要もなくなるので管理の手間も省けるのでよいです。

<注>
file=" "内ではhttpから始まるURLは使えませんのでご注意下さい。必ず相対パスまたは/で始まる絶対パスで指定して下さい。また、ここで使われる相対パスはブログのindex.htmlから見た位置になります。各アーカイブファイルから見た位置からではありませんので、よろしくお願い致します(ですので、ふつうはmoduleの場合と同じく、単純にファイル名のみを書くだけでよろしいです)。
参考&関連頁:MTInclude内のファイルパス

<注:MT4.38以上をお使いの方へ>
MT5.13、5.07、および4.38以降のバージョンではfileモディファイアが標準で無効化されています。fileモディファイアを使うにはmt-config.cgiに以下を追記します。

AllowFileInclude 1

参考:テンプレートタグ<$MTInclude$>の頁

(2006年4月12日加筆修正)
(2006年12月6日加筆)
(2007年5月10日タイプミス修正)
(2007年6月28日パスの注意事項追加)
(2014年10月20日fileモディファイアの注意追加)

 

トラックバックの一覧

トラックバック 動的ページでperlプラグイン。  »» 2006年10月19日 21:04
ダイナミック・パブリッシングだとperlで書かれたプラグインが使えず、『これだ!...