カテゴリー・アーカイブのカテゴリーリストで該当カテゴリーのエントリーのみを表示する

カテゴリー・アーカイブのカテゴリーリストで該当カテゴリーのエントリーのみを表示する

Posted at July 27,2007 2:08 AM
Tag:[Category, Customize, Entry, MovableType]

カテゴリー・アーカイブに表示されたカテゴリーリストで、該当カテゴリーのエントリーのみを表示するカスタマイズです。
ご質問を頂きましたので本エントリーにて紹介致します。

以下のサンプルの(X)HTMLは、当サイトの「XHTML 1.0 Strict 版テンプレート」をもとにしたマークアップですので、それ以外の配布テンプレートをご利用の場合は、dt / dd をそれぞれ div に直してください。

また、本カスタマイズは MT4 でも利用可能ですが、MT4 版は別エントリーで投稿したいと思います。

1.PHP 版

カテゴリー・アーカイブテンプレートの任意の位置に、下記のカテゴリーリストを設定してください。
ブログがPHP化されていることが前提です。

<MTIfArchiveTypeEnabled archive_type="Category">
<dt class="sidetitle">
Categories
</dt>
 
<dd class="side">
<?php $category = '<$MTCategoryLabel encode_php="1"$>'; ?>
<div id="categories">
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a> [<$MTCategoryCount$>]
<?php if ($category == '<$MTCategoryLabel encode_php="1"$>') { ?>
<ul><MTEntries><li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntries></ul>
<?php } ?>
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>
</dd>
</MTIfArchiveTypeEnabled>

2.JavaScript 版

1項と同様、カテゴリー・アーカイブテンプレートの任意の位置に、下記のカテゴリーリストを設定してください。

<MTIfArchiveTypeEnabled archive_type="Category">
<dt class="sidetitle">
Categories
</dt>
 
<dd class="side">
<script type="text/javascript">
//<![CDATA[
var category = '<$MTCategoryLabel encode_js="1"$>';
//]]>
</script>
<div id="categories">
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a> [<$MTCategoryCount$>]
<script type="text/javascript">
//<![CDATA[
if (category == '<$MTCategoryLabel encode_js="1"$>') {
document.write('<ul><MTEntries><li><a href="<$MTEntryPermalink$>"><$MTEntryTitle encode_js="1"$></a></li></MTEntries></ul>');
}
//]]>
</script>
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>
</dd>
</MTIfArchiveTypeEnabled>
関連記事
zenback
人気エントリー
トラックバックURL


コメント

はじめまして、Junと申します。
XHTML 1.0 Strict(utf-8 版):スタイル対応版(フッタ付きリキッドレイアウト対応)を便利に使わせていただいており、大変感謝いたしております。

カテゴリーの一覧が、記事のタイトルと本文が表示されて、非常に長くなるので、メインページに記事のタイトルだけ表示させたいと思っております。

「Movable Type 4.2 Perfedt Guide」も見ましたが、なかなかうまくいかず、小粋空間の記事に「カテゴリーリストにエントリータイトルを表示する」July,25,2007の記事を参考にしています。

「公開テンプレートの場合、カテゴリーリストに青色の部分を追加してください」とありますが、テンプレートリストにカテゴリーリストが見当たりませんでした。

そこで、インデックステンプレートのアーカイブインデックス内に似たようなコードを見つけましたので、次のとおりに挿入してみました。
33行目の li<<a href=<$mt:CategoryArchiveLink$" <title="<・・・・・
と <mt:Else>の間に青色のコードをペーストして、保存し再構築をしました。

その後、ブログを表示させて、カテゴリをクリックしてもなんら変化がなく、相変わらずタイトルと本文が表示されます。

お尋ねしたいのは、カテゴリーリストの代わりにアーカイブインデックスにコードを貼る方法でよいのでしょうか?

その他に、適切な方法があればご教示いただければ幸いです。初歩的な質問で申し訳ありませんがよろしくお願いします。

[1] Posted by Jun : November 15, 2009 5:54 PM

>Junさん
こんばんは。
ご質問の件ですが、「カテゴリーの一覧が、記事のタイトルと本文が表示されて」というのは、カテゴリーアーカイブページのことと理解しました。

参照いただいている記事はかなり古いので、カテゴリーアーカイブページに本文を表示させたくない場合は、ブログ管理画面の

<mt:if name="datebased_archive">
   <mt:entries>
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
   </mt:entries>
<mt:else>
   <mt:entries limit="auto">
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
   </mt:entries>
</mt:if>

の部分を次の内容に入れ替えてください。

<mt:if name="datebased_archive">
   <mt:entries>
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
   </mt:entries>
<mt:else>
   <mt:entries limit="auto">
      <mt:entryTrackbackData />
          <mt:dateHeader>
<p class="date"><mt:entryDate format="%x" /></p>
          </mt:dateHeader>
<div class="entry">
   <h2 id="a<mt:entryID pad="1" />" class="entry-header"><a href="<mt:entryPermalink />"><mt:entryTitle encode_html="1" /></a></h2>
   <mt:include module="ブログ記事のメタデータ" />
</div>
   </mt:entries>
</mt:if>

それではよろしくお願い致します。

[2] Posted by yujiro logo : November 16, 2009 12:40 AM

yujiroさん、お早うございます。
早速の、的確な回答ありがとうございました。
ご教示いただいたとおり、ブログ記事リストの内容を変更しましたところ、見事に同一カテゴリの記事タイトル一覧が表示されました。
思っていたことが実現できて本当に助かりました。
まだまだMT4の初心者ですが、小粋空間やyujiroさんの著作を頼りに勉強していきたいと思っています。
本当にありがとうございました。

[3] Posted by Jun : November 16, 2009 9:35 AM

>Junさん
こんにちは。
ご連絡ありがとうございました。
うまく表示できたようでよかったです。
ではでは!

[4] Posted by yujiro logo : November 16, 2009 12:19 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

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

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