idxctx プラグインというのを作ってみました。
例えばエントリーアーカイブで、ブログ全体の最新コメントをサイドバーに表示させたい場合。 MTの仕様では難しい(出来ない?)んですよね。 該当のエントリーのコメントだけがMTCommentsの対象になるので。 例えば月別アーカイブで、ブログ全体の最新エントリーをサイドバーに表示させたい場合。 出来ないんですよね。該当の月のエントリーだけがMTEntriesの対象になるので。 そこで、MTIndexContext というコンテナ・タグを追加するプラグインを作りました。 indexcontext.zip このコンテナ・タグで囲んだ箇所は、一時的にインデックステンプレートと同じ振る舞いになります。 これは、なにげに便利なんじゃないかな、と思います。例えば、全てのアーカイブページでメイン・ページと同じサイドバーを表示させたい場合、WidgetManagerを使っているなら全てのアーカイブテンプレートに以下のような記述をするだけで済むようになります。 <MTIndexContext> <MTWidgetManager name="MyWidget"> </MTIndexContext> インストールは、zipを解凍して出てくる「indexcontext.pl」ファイルをpluginsディレクトリにアップロードするだけです。 早速このブログにも適用してみました。 カテゴリーアーカイブは使っていませんが、エントリーと月別のアーカイブで、メインと同じ出力が得られていますのでご確認ください。 Widgetの操作だけでメインページと全アーカイブのサイドバーが変更できるので、非常に楽チンです。 ただし。欠点。小一時間格闘したのですが、ダイナミック・パブリッシング用のPHPが出来てません。perlと根本的な仕様が違っていて、なかなか難しそう。ていうか今の僕には実現できそうにありません。だってPHPなんて触ったこと無いんだもの。 3月21日追記 あんちもん2.Labさんがダイナミック・パブリッシングに対応させてくださいました! すごい! あんちもん2.Lab: ダイナミック・パブリッシング対応 indexcontext プラグイン 感謝感激です。