カテゴリー・アーカイブのカテゴリーリストで該当カテゴリーのエントリーのみを表示する
カテゴリー・アーカイブに表示されたカテゴリーリストで、該当カテゴリーのエントリーのみを表示するカスタマイズです。
ご質問を頂きましたので本エントリーにて紹介致します。
以下のサンプルの(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>
- Movable Type6で記事のない親カテゴリのカテゴリページを出力する方法
- Movable Typeでブログ記事が属するカテゴリアーカイブのリンクをブログ記事ページに表示する
- Movable Typeで「カテゴリ+年別」の記事一覧を表示する方法
- Movable Typeで親カテゴリーアーカイブに表示した記事のメインカテゴリまでのパンくずリストを表示する
- Movable Typeのカテゴリのベースネームについて
- Movable Typeで複数ブログのブログ記事を同名のカテゴリ別に振り分ける方法
- Movable TypeのMTIfCategoryタグとMTEntryIfCategoryタグの違い
- Movable Typeのカテゴリリストで階層別に背景画像を変更する
- Movable Typeのカテゴリ・フォルダで特定の最上位階層を表示しない方法
- Movable Typeのカテゴリリストにダミーの親カテゴリを表示する
- MTEntriesタグのcategoryモディファイアに「AND」を含むカテゴリを指定する
- ブログ記事ページに自分が属するカテゴリのツリーと直属カテゴリの他のブログ記事一覧を表示する
- Movable Type 5でのMTEntriesタグのcategory/catgoriesモディファイアの動作改善について
- 親カテゴリーアーカイブにサブカテゴリーのブログ記事を表示する場合に特定のサブカテゴリーのブログ記事をフィルタリングする
- 特定のカテゴリのブログ記事を表示する
はじめまして、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>の間に青色のコードをペーストして、保存し再構築をしました。
その後、ブログを表示させて、カテゴリをクリックしてもなんら変化がなく、相変わらずタイトルと本文が表示されます。
お尋ねしたいのは、カテゴリーリストの代わりにアーカイブインデックスにコードを貼る方法でよいのでしょうか?
その他に、適切な方法があればご教示いただければ幸いです。初歩的な質問で申し訳ありませんがよろしくお願いします。
>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>
それではよろしくお願い致します。
yujiroさん、お早うございます。
早速の、的確な回答ありがとうございました。
ご教示いただいたとおり、ブログ記事リストの内容を変更しましたところ、見事に同一カテゴリの記事タイトル一覧が表示されました。
思っていたことが実現できて本当に助かりました。
まだまだMT4の初心者ですが、小粋空間やyujiroさんの著作を頼りに勉強していきたいと思っています。
本当にありがとうございました。
>Junさん
こんにちは。
ご連絡ありがとうございました。
うまく表示できたようでよかったです。
ではでは!