Movable Type 4 のカテゴリーアーカイブで全てのブログ記事を表示する

Movable Type 4 のカテゴリーアーカイブで全てのブログ記事を表示する

Posted at January 22,2008 2:34 AM
Tag:[Category, limit, MovableType]

Movable Type 4 デフォルトテンプレートでのカテゴリーアーカイブでは、そのカテゴリーのブログ記事が全て表示されない仕組みになっています。

これは、カテゴリーアーカイブの表示記事数を絞る代わりに、「月別カテゴリーアーカイブ」を併用して、カテゴリーアーカイブの分割ページとして賄うようにしているためです。
こうすることで、カテゴリーアーカイブの記事数が増大しても、カテゴリーアーカイブをページ分割等で表示記事数を絞る必要がなくなります。

本エントリーでは、カテゴリーアーカイブで表示記事数がメインページと同じになる仕組みと、それを解除する方法等について解説します。

1.カテゴリーアーカイブで表示記事数が絞られる仕組み

仕組みは簡単で、デフォルトテンプレートであれば、「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」の MTEntries タグに limit モディファイアを適用されていると思います。このモディファイアの値に "auto" が設定されていれば、アーカイブでの表示記事数が「設定」→「ブログの設定」→「ブログ記事」→「ブログ記事の表示数」の設定が適用されます。つまりメインページと同じ表示になります。

    :
<MTIf name="datebased_archive">
    <MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
    </MTEntries>
<MTElse>
    <MTEntries limit="auto">
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
    </MTEntries>
</MTIf>
    :

上のリストは、次のように表示するアーカイブを振り分けています。

<MTIf name="datebased_archive">
     :
 (日付アーカイブ)
     :
<MTElse>
     :
 (カテゴリーアーカイブ)
     :
</MTIf>

limit モディファイアは lastn モディファイアと似たような動作を行ないます。

参考:lastn モディファイアと limit モディファイアの違い

2.カテゴリーアーカイブで記事をすべて表示する

「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」で、limit モディファイアを削除すれば、カテゴリーアーカイブで記事をすべて表示できます(下)。

    :
<MTIf name="datebased_archive">
    <MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
    </MTEntries>
<MTElse>
    <MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
    </MTEntries>
</MTIf>
    :

ただし、この方法では、記事数が増えるにしたがってファイルサイズも増大するので、日付カテゴリアーカイブとの併用が望ましいです。

3.月別カテゴリーアーカイブリストを表示する

当ブログの配布テンプレートではサイドバーに月別カテゴリーアーカイブのリストが表示されないので(過去のバージョンで一部表示されるものもあります)、下記のリストを「サイドバー」テンプレートに貼り付けておけば、月別カテゴリーアーカイブにリンクさせることができます(この点についてはいずれ修正します)。

<MTIf name="module_category-monthly_archives">
<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<dt class="sidetitle">
Monthly <$MTCategoryLabel$>
</dt>
 
<dd class="side">
<ul>
<MTArchiveList archive_type="Category-Monthly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a> [<$MTArchiveCount$>]</li>
</MTArchiveList>
</ul>
</dd>
</MTIfArchiveTypeEnabled>
</MTIf>

4.関連記事

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


トラックバック

Movable Type 5: アーカイブページの分割方法 from LIFE@weblog
わたし、ver.2か3の頃に作ったMovable Typeのテンプレートを引きずったまま使っていたので知らなかったのですが、ver.4の頃からカテゴリーや... [続きを読む]

Tracked on August 1, 2010 12:50 AM
コメント

こんばんは。
分かりやすい説明、ありがとうございました。
なるほど、そういう訳だったんですね。
ページの分割化をその内にやろうかなぁ・・・なんて思っていたところです。
本件、解決しました。ありがとうございました。またよろしくお願い致します。

[1] Posted by たけたけ logo : January 23, 2008 1:05 AM

>たけたけさん
こんばんは。
ご連絡ありがとうございました。
ではでは!

[2] Posted by yujiro logo : January 24, 2008 1:08 AM

いつも参考になる記事を有難うございます。

「WEBページの新しいデザイン」P114にて紹介されている、
”記事1件を除いてタイトルのみの表示”をカスタマイズさせて
頂いているのですが、この方法だと表示記事指定が「1」になる
ためカテゴリーを選んだ時にも1件しか表示されず困っていまし
た。

今回の記事で「ブログ記事リスト」内の

<MTEntries limit=”5”>

を変更することによってカテゴリーの時だけは表示件数を変える
方法が分かったのですが…。

5件以上の記事を表示した場合、可能でしょうか?。
カテゴリーを表示した時の「Next | back」には
<$MTArchiveLink$>が設定されていますので、
「次のカテゴリー」へ移動してしまうわけですが、単純にカテゴリー
一覧で記事を5件表示した時、次の5件への「Nextボタン」の作り方
を知りたい訳です。

既に上記関連記事がありましたら、申し訳ありません。

[3] Posted by Aiko : January 26, 2008 12:07 AM

>Aikoさん
こんばんは。
ご質問の件ですが、おそらく月別のページで賄うのではなく、ページを分割したいということでしょうか。
であれば、ページ分割用のプラグインがありますので、それを用いてカスタマイズを行えば良いと思います。

静的ページ用ページ分割プラグイン:PageBute

なお、先の件につきましてはサポートサイト(サンプルデータのダウンロードサイト)でも掲載しております。他にも不備な点はそちらに掲載してますので参考になれば幸いです。
それではよろしくお願い致します。

[4] Posted by yujiro logo : January 26, 2008 2:40 AM

お忙しいところ、アドバイス有難うございます。

説明足らずで申し訳ありません。

「template_4_0_utf8_1_7」を使わせていただいているのですが、
書籍にあった1件のみの記事を表示し、残り5件はタイトルのみ
というスタイルをとっています。説明通り[管理画面/表示件数]
を{1}に設定して思い通りのレイアウトになったのですが、
[カテゴリー]を選ぶと[表示件数]が反映され1件の記事しか
表示されず、今回の記事を参考にこれも変更させていただきました。

そこでちょっと欲がでて(本来ならカテゴリー表示件数を50とか
に設定すれば済むのですが)、[カテゴリー(5件表示)]を選ん
だ時に[次の5件]が表示出来れば?。と…。

ご紹介いただいたプラグインはまさに求めていたものなのですが、
いろいろなサイト様の導入記事も参考にし[プログ記事リスト]に
記述し再構築をしたのですが、どういう訳か肝心の各ページへのリ
ンクが表示されず、サーバーを調べても分割されるであろう
[index_2.html]などのファイルが出力されていないようです。

とあるブログでは[管理画面/表示件数を0にしないいけない]と
いう書き込みもありましたが、{0}にしてしまうと先のタイトル
のみのページに影響が出そうなのでまだこれははテストしていません。

本来はこちらに書き込む内容ではないと思いましたが、ご紹介頂き
ましたので、ご報告と言うことで書き込みさせていただきました。

皆さん、結構簡単に組み込んでおられるようなので、何処かが間違
っているのかもしれません。

[5] Posted by Aiko : January 26, 2008 7:38 AM

>Aikoさん
こんにちは。
[5]のコメントを要約すると、

  • 各カテゴリーのページにブログ記事を5件ずつ表示し、5件以上ブログ記事がある場合は、ページのどこかに「前の5件」「次の5件」というリンクを表示したい。
  • プラグインをインストールし、テンプレートタグも設定して再構築したが、各カテゴリーのページに「前の5件」「次の5件」というリンクが表示されない。ファイルも出力されていない。

ということでよろしいでしょうか。
であれば、文言だけでは原因が分からないので、プラグインのテンプレートタグを設定したテンプレート(ブログ記事リストでしょうか?)の内容をコメントに貼り付けて送信してください。
注:「<」や「>」はコメント投稿フォームの送信ボタン上に書かれているとおり、書き換えてください。

また、プラグインが正常にインストールされているかどうか確認してください。つまりブログ管理画面上の「システムメニュー」→「プラグイン」でプラグイン一覧画面を表示して、「PageBute ~」が表示されていればOKです。

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

[6] Posted by yujiro logo : January 30, 2008 4:41 PM

お忙しいところお返事有難うございます。

コメント部分にソースを張らせて頂くのは、短いとはいえ他の方が読みにくくなってし
まいますので、ZIPに圧縮し保存させて頂きました。

ttp://surak.private.coocan.jp/template.zip
(リンクにならないよう頭の h は消してあります)

「PageBute.pl」は現在「利用不可」にしておりますが、管理画面のプラグインでインス
トールされているのを確認しています。

>各カテゴリーのページに「前の5件」「次の5件」というリンクが表示されない。

要約していただいた通りです。
上の出力されるであろう部分は実際には「 1 」というリンク属性を含まない[文字だけ]が
出力されます。(勿論記事は5以上あります)

その時の画面ログを取り忘れてしまいましたが、その[1]は<span>タグで囲われ、試しに[プログ記事リスト]該当部分に[★]を追加したところ[ 1 ★]となりましたので、間違
いなく本来はリンクタグが表示される部分がHTMLに出力されていないコトが分かりました。
簡単な記述違いをしているのかもしれません。
お手数をお掛けして申し訳ありませんが、お時間のある時に宜しくお願いいたします。

[7] Posted by Aiko : February 2, 2008 5:28 PM

>Aikoさん
こんばんは。
ダウンロードしたテンプレート拝見させて頂きました。

<MTPageContents count="5">
<MTEntries limit="5">
     :

となっており、MTPageContentsで5件ごとにページ分割する設定になってますが、MTEntriesで5件しか表示しない設定になっているので、ページ分割されません。

ということで、

<MTEntries limit="5">

<MTEntries>

にして再度お試しください。
それではよろしくお願い致します。

[8] Posted by yujiro logo : February 3, 2008 3:48 AM

yujiro様。

ご指摘いただいた部分、削除しましたら上手く動くようになりました~(^^)。
たった一行のミスだった訳ですね。半日もかけてどうして気がつかなかったのか、お手間を取らせてしまい申し訳ない限りです。また、ご親切にアドバイス有難うございましたm(__)m。

FC2などでは実際のブログに反映させる前に動作チェックが出来ますので、単純ミスも発見しやすいのですが、ムーバルタイプではたった一行の修正でも反映に時間を費やすので、考えられる全てのパターンを試すことが躊躇われご迷惑をお掛けいたしました。

今回のプラグインと、[WEBデザインの新しいルール(P186)]の[関連記事]表示のカスタマイズを組み合わせることにより、観覧者にとって分かりやすいであろう記事ナビゲートがデザイン出来ました(^^)。

[9] Posted by Aiko : February 4, 2008 10:06 AM

>Aikoさん
こんばんは。
ご連絡ありがとうございました。
無事に直ったようでよかったです。
ではでは!

[10] Posted by yujiro logo : February 6, 2008 2:27 AM

MT4ではこの方法で上手くいきまして使わせていただいていましたが
MT5ではどのような方法が有効でしょうか?
いろいろやってはみたのですが上手く行かなくて…

ぜひご教授いただけないでしょうか?

[11] Posted by やま : November 4, 2010 4:36 AM

すみません
自己解決できました
失礼しました

[12] Posted by やま : December 4, 2010 3:17 PM

>やまさん
こんばんは。
ご質問にご対応できず申し訳ありません。
自己解決されたようでよかったです。
ではでは。

[13] Posted by yujiro logo : December 4, 2010 6:23 PM
コメントする
greeting

*必須

*必須(非表示)


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

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

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

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