TopMovable Typeプラグイン > メインページと同じ情報をアーカイブページで表示する indexcontext プラグイン
2007年3月20日

メインページと同じ情報をアーカイブページで表示する indexcontext プラグイン

Posted at March 20,2007 1:55 AM
Category:[プラグイン]
Tag:[, , ]

Movable Type のアーカイブページ(カテゴリー・アーカイブ/日付アーカイブ/エントリー・アーカイブ)ではメインインデックスと全く同じ情報を出力することができません。

以前、「アーカイブページに「最近のコメント」「最近のトラックバック」を表示する」というエントリーに記した通り、「最近のエントリー」「最近のコメント」「最近のトラックバック」はアーカイブページによって出力される情報が異なります。

デフォルトテンプレートのアーカイブページにそれらの情報が設定されていないのが上記の理由であるかどうかは定かではありませんが、この振る舞いは(多分)マニュアル等に明記されていません。

先のエントリーではあの手この手でアーカイブに依存しないで表示させる方法を列挙していますが、本エントリーで紹介するプラグインを利用すればこの問題を簡単に解消してくれます。

1.プラグインのインストール

下記のサイトよりプラグインをダウンロードします。

blog.aklaswad.comidxctx プラグインというのを作ってみました。

ダウンロードした indexcontext.zip を解凍し、中にある indexcontext.plplugins ディレクトリにアップロードします。

2.タグの設定

このプラグインが提供するタグは MTIndexContext のみです。このタグで表示させたい各リストの外側を括ります。

デフォルトテンプレートの各アーカイブページで「最近のエントリー」を表示させたい場合、下記のタグをサイドバー部分に設定します。

<div class="module-archives module">
   <h2 class="module-header">最近のエントリー</h2>
   <div class="module-content">
      <ul class="module-list">
      <MTIndexContext>
         <MTEntries lastn="10">
            <li class="module-list-item"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
         </MTEntries>
      </MTIndexContext>
      </ul>
      <a href="<$MTBlogURL$>atom.xml">このブログのフィードを取得</a><br />
      [<a href="http://www.sixapart.jp/about/feeds">フィードとは</a>]
   </div>
</div>

公開テンプレートの場合は下記のタグを設定します。

<div class="sidetitle">
Recent Entries
</div>
 
<div class="side">
<MTIndexContext>
<MTEntries lastn="10">
<a href="<$MTEntryPermalink$>" title="e<$MTEntryID$>"><$MTEntryTitle$></a><br />
</MTEntries>
</MTIndexContext>
</div>

「最近のコメント」は MTComments の外側、「最近のトラックバック」は MTPings の外側を括ります。

上記のサンプルでは MTEntries の直前と直後に MTIndexContext を追加していますが、一番外側にある div 要素の直前と直後に設定しても構いません。

3.WidgetManager による設定

配布元でも紹介されていますが、WidgetManager を利用することでテンプレート上の管理を簡単にすることができます。

例えば、「最近のエントリー」をメインページに表示するには次の1行を設定します。

<$MTWidgetManager name="Recent Entries"$>

そしてアーカイブページは下記のように MTIndexContext で括った形で設定します。

<MTIndexContext>
<$MTWidgetManager name="Recent Entries"$>
</MTIndexContext>

MTWidgetManager タグの name 属性には Widget 名を設定します。Widget 名は「Recent Entries」という名前で「テンプレート・モジュール」に予め登録されたもので、Widget の内容には「最近のエントリー」のタグ(下記)が設定されています。
設定方法の詳細は WidgetManager をご覧ください。

<div class="module-archives module">
   <h2 class="module-header">最近のエントリー</h2>
   <div class="module-content">
      <ul class="module-list">
      <MTEntries lastn="10">
         <li class="module-list-item"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
      </MTEntries>
      </ul>
      <a href="<$MTBlogURL$>atom.xml">このブログのフィードを取得</a><br />
      [<a href="http://www.sixapart.jp/about/feeds">フィードとは</a>]
   </div>
</div>

このような設定を行うことで Widget を各テンプレートで共用することが可能になります。

Posted by yujiro
関連記事
人気エントリー
トラックバックURL


トラックバック

ダイナミック・パブリッシング対応 indexcontext プラグイン from あんちもん2.Lab
idxctxプラグイン(indexcontextプラグイン)の、ダイナミック・パブリッシング対応PHP版、作っちゃいました。 [続きを読む]

Tracked on March 21, 2007 5:21 PM

月別アーカイブにも月別アーカイブ一覧を表示(ややこしい):indexcontext.pl from metabolism
 今日はMTづいてますw  久し振りに小粋空間さんを彷徨ってたら、ずっと欲しかっ... [続きを読む]

Tracked on December 16, 2007 9:40 PM

最近のエントリー&コメントの表示 from 瑞了奇譚
最近のエントリーと最近のコメント。この二つの表示について今まで気になっていることがありました。 [続きを読む]

Tracked on March 14, 2008 11:03 PM
コメント

こんばんわ?
blog.aklaswad.com:idxctx をダウンさせていただいて設定したのですが、新規エントリーを書いたあと、「全てを再構築」しないと、反映されません。
設定がまちがっているのでしょうか?
ご指導お願いします

[1] Posted by ななこ : March 24, 2007 12:07 AM

追記です。
1.プラグインのインストール
2.タグの設定
*(3.WidgetManager による設定は行っていません)

=================================================
2.タグの設定を、各ページの
エントリーリスト、コメントリスト、カテゴリーリストアーカイブリストにして「全て再構築」すると反映されている状態です。

すみません。説明のしかたが悪くて;;

この状態であれば、エントリーする度に「全てを再構築」しなければならない。

3.WidgetManager による設定は上記の

1.プラグインのインストール
2.タグの設定
とセットになっているものですか?

もしセットであるならば、エントリーするときの
再構築の仕方はどうなりますか?

[2] Posted by ななこ : March 24, 2007 1:36 AM

解決しました。

<MTIndexContext>
.
.
</MTIndexContext>

として、

インデックステンプレートにモジュールをつくり
再構築のときのチェックをいれ


<? readfile('<$MTBlogURL$>最近のエントリー.php')?>

などとと、各アーカイプページに記述することで
解消されました。

[3] Posted by ななこ : March 24, 2007 12:58 PM

>ななこさん
こんにちは。
ご質問の件、自己解決されたようで良かったです。
また貴重な情報ありがとうございました。

[4] Posted by yujiro : March 27, 2007 10:56 AM
コメントする

*必須



お知らせ:2008年5月現在、多忙のため、7月頃までコメントを速やかに回答できない状態が続きます。ご質問の内容によっては回答が7月以降になる可能性がありますので、予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Entry Trackbacks
Entries of this Category
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
BlogPeople
Now loading...
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 4.1
 
List Me!