TopMovable Typeカスタマイズカテゴリー > 親カテゴリーアーカイブにサブカテゴリーのエントリーを表示する
2005年9月25日

親カテゴリーアーカイブにサブカテゴリーのエントリーを表示する

Posted at September 25,2005 11:53 PM
Category:[カテゴリー]
Tag:[, , , , , ]

表題の通り、親カテゴリーのアーカイブページでサブカテゴリーのエントリーを表示する方法です。このサイトを例に挙げると、「カスタマイズ」というカテゴリーのサブカテゴリーには色々なサブカテゴリーがぶら下がってますが、「カスタマイズ」カテゴリーのページを開くとサブカテゴリーのエントリーも全て表示するようになっています。なんだかよく分からないけれどとりあえずカスタマイズ記事を色々眺めてみたい、という場合に便利です。

Movable Type ではオーソドックスなカスタマイズですが、改めてご紹介しておきます。

1.テンプレートの修正

カテゴリーアーカイブにある

<MTEntries>
     :
</MTEntries>

<MTEntriesWithSubCategories>
          :
</MTEntriesWithSubCategories>

に変更して、保存・再構築します。これで親カテゴリーにサブカテゴリーのエントリーが反映されるようになります。

2.サブカテゴリーのエントリー投稿時に親カテゴリーアーカイブを再構築する

Movable Type では「エントリの存在するカテゴリーしか再構築しません」という仕様になっています。つまり、あるカテゴリーAのサブカテゴリーであるカテゴリーBにエントリーを投稿した時、親カテゴリーAのアーカイブページは再構築されません(3.2でもこの仕様は変わっていないようです)。
これを解消するために ParentCategoryRebuild というプラグインを利用します。

David Raynes
ParentCategoryRebuild 1.1(3.1x用)
ParentCategoryRebuild 2.0(3.2用)

上記サイトより、parent-rebuild-1.1.zip (または parent-rebuild-1.1.tar.gz) をダウンロードし、アーカイブを解凍した中にある parent_rebuild.pl を plugins フォルダにアップロード(自宅サーバであればコピー)します。管理画面のメインメニューのプラグイン一覧に「ParentCategoryRebuild」が表示されればOKです。
この状態でエントリーを投稿すれば上記の問題は解消されます。

なお3.2日本語版ベータ2で上記プラグインを利用する場合、管理画面の「設定」→「プラグイン」→「ParentCategoryRebuild」欄の「設定を表示」をクリックして「Rebuild parent categories when an entry is published in a child category.」のチェックボックスをチェックし、変更を保存することで有効になります。

以上です。参考サイトは下記です。ありがとうございました。

我楽Movable Type 3.11-ja サブカテゴリー表示。
Magic WhiteMTEntriesWithSubCategoriesタグをもっと便利に
Ogawa::Memorandaサブカテゴリー機能について考えてみた。

2005.09.26 追記
3.2のプラグイン設定方法を追記しました。

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


トラックバック

親カテゴリに子カテゴリのエントリも含めて表示 from やむやむ
小粋空間 さん : 親カテゴリーアーカイブにサブカテゴリーのエントリーを表示する... [続きを読む]

Tracked on September 26, 2005 8:33 AM

親カテゴリアーカイブにサブカテゴリのエントリ表示 from 読書の時間
前々から気になっていたカテゴリアーカイブページの表示。 親カテゴリを選択したら、... [続きを読む]

Tracked on September 27, 2005 6:17 PM

サブカテゴリーのエントリーもリスト表示 from MEMO.Styraise.com
MT標準のタグではありますが、サブカテゴリーの表示は頭を悩ましていたので整理。 ... [続きを読む]

Tracked on October 12, 2005 10:03 AM

カスタマイズを。 from
分かりづらいですが、左のほうのProductカテゴリーにサブカテゴリーをつけたし... [続きを読む]

Tracked on November 10, 2005 12:56 AM

拡張日記 from Ars longa vita brevis.
 なにをやったか後で思い出せなくなりそうなので拡張日記をつけることにした。 ・親... [続きを読む]

Tracked on November 19, 2005 2:15 AM

親カテゴリーで大勘違い from ミシンデスキップ(時々MOVABLETYPE
また罠にはまってしまいました。罠というか、アホですね。カテゴリーリストをツリー... [続きを読む]

Tracked on January 29, 2007 1:45 AM

ダイナミック・パブリッシングで頁分割(5) 親カテゴリー編 from WingMemo
オラオラのoscarさんから「親カテゴリーに子カテゴリーのエントリーも表示させ、かつ頁分割も行いたい」との質問を受け、parlプラグインを使う部分を静的生... [続きを読む]

Tracked on February 5, 2007 10:43 PM

MTカスタマイズ:親カテゴリアーカイブにサブカテゴリのエントリを表示 from インターネット*ノート
MTはカテゴリの中にカテゴリを作ることができますが、これまでサブカテゴリ(子カテゴリ)は使っていませんでした。 なのでまったく意識していなかったので... [続きを読む]

Tracked on April 10, 2007 11:55 AM

カテゴリーの再構成と、親カテゴリーにサブカテゴリーを表示させるカスタマイズ from 岩淵拓郎「日々嘉綴 総合(ひびかて そうごう)」
ずいぶん前からぐっちゃぐちゃになっていたカテゴリー構成を整理しました。 ■このサ... [続きを読む]

Tracked on May 13, 2007 4:02 PM

カテゴリーの再構成と、親カテゴリーにサブカテゴリーを表示させるカスタマイズ from 岩淵拓郎「日々嘉綴 総合(ひびかて そうごう)」
ぐちゃぐちゃになっていたカテゴリーの再構成と親カテゴリーにサブカテゴリーを表示させるカスタマイズ。 [続きを読む]

Tracked on May 13, 2007 4:12 PM

サブカテゴリーのエントリー投稿時に親カテゴリーアーカイブを再構築する。 from Junnama Online (Mirror)
サブカテゴリーのエントリー投稿時... [続きを読む]

Tracked on January 9, 2008 12:37 AM
コメント

おはようございます。
なるほどぉ・・・こんなこともできちゃうんですね。また今度やってみようと思います。
ところで、各エントリに設定したTagを表示されてるのを真似させていただきました。
Tag:[MovableType, Customize, SubCategory, ・・・] → これのことです。
これ、こちらで記事にされてませんよね?
トラックバックさせていただきたくて探したんですけど、わかりませんでした。
見落としでしたら、すみません。

[1] Posted by さえら : September 26, 2005 4:47 AM

>さえらさん
こんばんはー。
トラックバックありがとうございます。

ここではまだ記事にしてませんでしたので改めてエントリーしたいと思います。
なおスクリプトをちょっと変更して、lastn属性を使えるようにしてまして、トップページのみ最大3タグのみ表示するようにしています。

[2] Posted by yujiro : September 27, 2005 12:53 AM

おはようございます
コメントするのは初めてですがカスタマイズとても参考にさせていただいてますー
分かりやすい説明でいつも助かってます
先日はBlogPeopleの登録の方もありがとうございました。
ところでこのエントリーに関して一つ質問なのですが、
私の方も取り入れようと思いプラグインを3.2でダウンロードして使用しようとした所動作しません
設定でのプラグインの画面ではきちんとこのプラグインが表示されているのですが、実際に再構築が反映されないんですよね・・・

MT3.2でやってるのですが3.2用のプラグインでもダメなんですかねぇ
やり方に間違いは無いと思うのですが・・・他のプラグインは同じ方法で反映されますし。
もしお分かりでしたら教えていただければと思います。

それとこちらではyujiroさんはエントリー投稿画面でのアイコン追加とかはされてらっしゃらないのでしょうか
見落としでしたらすいませんが、それに関するエントリーが無いようですので
3.1~まではアイコン追加も簡単だったのですが、どうやら3.2からファイルが変わったらしくうまくいかないのです。
もしなされているようでしたら気が向いたときにでも記事にしていただければなと思います!
あつかましいお話で失礼しました。

[3] Posted by Worldx : December 5, 2005 6:32 AM

>Worldxさん
こんばんは。
記事参照ありがとうございます。
ご質問の件ですが、本文に記している「?チェックボックスのチェックし?」の作業はお済みでしょうか。
念のため 3.2-ja-2 で確認しましたところ、正常に動作するようですのでご確認頂ければ幸いです。

またエントリー投稿画面のアイコン(bold やリンク等のアイコンですよね?)追加のカスタマイズはまたの機会にエントリーしたいと思います。ネタに苦しんでいるので(笑)、実現できそうなリクエストは助かります。

以上です。
それではどうぞよろしくお願い致します。

[4] Posted by yujiro : December 6, 2005 12:53 AM

おーありがとうございます!
チェックボックスの方なんですが、"設定を表示"が無いんですよねー
他のプラグインに関しては"設定を表示"が無くても動いているのですが・・・
一応"利用する"にはなっています。


エントリー投稿画面の方はそうですー。
以前のバージョン時はMagicWhiteさんのエントリーを参考にできていたのですが、今回からスクリプトを記述するファイルが変わってしまったのか、反映されないのです。
他にも画像の回り込みを自動でやってくれるようなカスタマイズも"Akashi`sWeblog"さんという所のエントリーを参考にしていたのですが、同じ方法だとできないんですよねぇ・・・

 
お暇があれば3.2からのカスタマイズに関するMT側の変更などエントリーにしていただければとても助かります!

それにしてもyujiroさんの方で3.2でできたというのにおかしいですよね・・・

さらにあつかましく失礼しました><

[5] Posted by Worldx : December 6, 2005 2:58 AM

すいません、設定を表示ありました・・・
言えないくらいすごいケアレスミスでした。
申し訳ありません・・・><

ありがとうございました!

[6] Posted by Worldx : December 6, 2005 2:59 AM

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

[7] Posted by yujiro : December 7, 2005 12:04 AM

はじめまして?
いつもこのサイトを拝見しています。多い時は1日10回以上訪問する時もあります。 (笑)この記事ガ非常に役立ちました。どうもありがとうございました。

[8] Posted by やまがた : October 22, 2006 3:11 AM

>やまがたさん
こんにちは。
いつもご覧くださりありがとうございます。
お役にたてたようでよかったです。
ではでは!

[9] Posted by yujiro : October 23, 2006 12:40 PM

こんにちは、ごぶさたしています。
私のサイトのカテゴリーの仙台市内で6つの項目、近郊で3つの項目を一気に見れるようにしたいのですが、、、ご伝授頂ければ幸いです。

[10] Posted by taka : October 30, 2006 11:50 AM

>takaさん
こんにちは。
ご質問の件ですが、Movable Type の動作を確認して、可能であればエントリーしたいと思います。
それではよろしくお願い致します。

[11] Posted by yujiro : October 31, 2006 1:02 PM

はじめまして。MTで行き詰まったときにいつも参考にさせていただいております。
今回、こちらのエントリーを拝見してParentCategoryRebuildを入れてみました。
が、一応機能はしているのですが、エントリーを書いて保存しても親カテゴリのインデックスが更新されず、そのエントリーをもう一度保存して初めて更新されるという奇妙な現象が起こっています。
このような事例をご存知ありませんでしょうか?

[12] Posted by kadzk : February 1, 2007 6:03 PM

>kadzkさん
こんにちは。
ご質問の件につきまして、同様の事象は入手できておりませんが、「3.3 では動作しない」という記事がありました。
http://www.zelazny.mydns.jp/archives/000368.php

参考になれば幸いです。

[13] Posted by yujiro : February 2, 2007 2:03 PM

こんにちは。
いつも参考にさせていただいております。

さて、このエントリーに関する質問ではないのですが似た感じのカスタマイズになると思うのでこちらに質問させていただきます。
まず、やりたいことは「条件分岐で親カテゴリーと子カテゴリーと孫カテゴリーの表示内容を変更をしたい」です。

まず親カテゴリーが1つあります。仮に【A】とします。
その【A】の中に【a】、【b】、【c】、【d】のカテゴリがあり、その下(孫)には子カテゴリである【a】、【b】、【c】、【d】それぞれに【e】、【f】、【g】、【h】があるとします。

やりたいことは【A】のカテゴリーアーカイブを開けば特定の文章と【a】、【b】、【c】、【d】が表示され、【a】を開けば【a】に属したサブカテゴリー名【e】とその中にあるエントリー。【e】を開けばエントリーのタイトルとその概要を表示させたいんですが、それを1つのカテゴリーアーカイブでやれないかどうか、です。

<MTHasSubCategories>などを使ってやれたサイトさんを参考に3階層にチャレンジしたものの、親カテゴリーで親カテゴリー名が表示されてしまうとかどうも初歩的にミスしてる感もあります。
今日一日丸っとこれにかかりっきりだったので煮詰まってるからなのかもしれません。何かアドバイス頂ければと縋りに来ました。

長くて申し訳ありませんが、よろしかったらお返事頂ければ幸いです。

[14] Posted by Aya : June 3, 2007 12:40 AM

>Ayaさん
こんにちは。
ご返事遅くなり申し訳ありません。
ご質問の件ですが、3階層限定であればMTタグで実現可能かもしれません(実際にやってみないと分かりませんが)。

確認ですが、全体のカテゴリー構成は下の認識です。

  【A】
   ├【a】
   │ └【e】
   ├【b】
   │ └【f】
   ├【c】
   │ └【g】
   └【d】
     └【h】

また、それぞれの階層の表示は下記でよろしいでしょうか。

・【A】を表示させた時

  【A】の特定の文章
   └【a】のカテゴリー名

・【a】を表示させた時

  【a】のカテゴリー名
   └【e】のカテゴリー名
     └エントリー1タイトル
     └エントリー2タイトル
     └エントリー3タイトル
          :

・【e】を表示させた時

  【e】のカテゴリー名
    └エントリー1タイトル+概要
    └エントリー2タイトル+概要
    └エントリー3タイトル+概要
          :

あと確認ですが、【A】を表示した時の「特定の文章」とは、<$MTCategoryDescription$> の内容で良いでしょうか?

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

[15] Posted by yujiro : June 7, 2007 10:36 AM

こんにちは。
お返事遅くなりまして失礼いたしました。

解釈に関してはその通りです。
「特定の文章」は別にphpでページを作り、読み込もうかと思っています。

とあるページに
<MTHasSubCategories>
<MTHasNoParentCategory>
親カテゴリで表示したい内容
</MTHasNoParentCategory>

<MTHasParentCategory>←ここは<MTElse>でも試してみました。
子カテゴリで表示したい内容
</MTHasParentCategory>

</MTHasSubCategories>

<MTHasNoSubCategories>
孫カテゴリで表示したい内容
</MTHasNoSubCategories>
と言う方法で出来るのでは?とあったのですが、試したところ親カテゴリのみに設定した内容が子カテゴリ、孫カテゴリでも表示されてしまい、こちらの希望の通りに表示されないんです。
他に何かアイデアありましたら、どうぞご教授下さいませ。

[16] Posted by Aya : June 26, 2007 4:15 PM

>Ayaさん
こんにちは。
PHP化が必要ですが、カテゴリーアーカイブに設定するサブカテゴリーリスト用タグは下記でいかがでしょうか。

<?php $depth = 0; ?>
<MTSubCategories include_current="1">
  <MTSubCatIsFirst>
    <ul>
  </MTSubCatIsFirst>
  <MTIfNonZero tag="MTCategoryCount">
    <li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a>
    <MTHasNoSubCategories>
      <ul>
      <MTEntries>
        <li><$MTEntryTitle$><MTHasNoSubCategories>
          <?php if($depth < 1) { ?>: <$MTEntryExcerpt$><?php } ?>
        </MTHasNoSubCategories></li>
      </MTEntries>
      </ul>
    </MTHasNoSubCategories>
  <MTElse>
    <li><MTCategoryLabel>
  </MTElse>
  </MTIfNonZero>
  <?php $depth++; ?>
  <MTSubCatsRecurse max_depth="1">
  <?php $depth--; ?>
  </li>
  <MTSubCatIsLast>
    </ul>
  </MTSubCatIsLast>
</MTSubCategories>

なお、3.3では最下層のサブカテゴリー表示に不具合がありますので、「Movable Type 3.2 と 3.31 におけるサブカテゴリーリストの表示の違いについて」の対処が必要です。
また親カテゴリー・子カテゴリーのエントリー数が0件ではカテゴリー自体が表示されないため「エントリーのない親カテゴリーに子カテゴリーを表示する」のような仕組みが必要かもしれません。

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

[17] Posted by yujiro : June 28, 2007 5:18 PM

はじめまして。
只今、MovableType3.35でウェブサイトを作成しています。

質問させて頂きたい内容は....
カテゴリーページに飛んだ時に表示されるカテゴリー一覧を、
メインカテゴリーとそのメインカテゴリーに属するエントリーだけが
そのメインカテゴリー表示の下に追加されるようにしたいのです。

※わかりにく説明で申し訳ございません、下記に簡単に説明いたします。

例えば、トップページのカテゴリーに
【カテゴリーA】
【カテゴリーB】
【カテゴリーC】   とある時、


【カテゴリーA】のページに行くと・・・

=======================================
【カテゴリーA】
 カテゴリーAに属するエントリー1
 カテゴリーAに属するエントリー2
 カテゴリーAに属するエントリー3
【カテゴリーB】
【カテゴリーC】
=======================================
このように表示され、

カテゴリーBのページに行くと・・・・
=======================================
【カテゴリーA】
【カテゴリーB】
 カテゴリーBに属するエントリー1
 カテゴリーBに属するエントリー2
 カテゴリーBに属するエントリー3
【カテゴリーC】
=======================================
という風に表示させたいのです。


現在、トップページは基本の3カラム構造で、左側にカテゴリーを
上から下に並べており、そちらのソースが下の通りになります。
================================================================
<MTIfArchiveTypeEnabled archive_type="Category">
<div id="category-archives">
<MTTopLevelCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>">
<$MTCategoryDescription$></a>
<MTElse><li><$MTCategoryDescription$></MTElse>
</MTIfNonZero><MTSubCatsRecurse></li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</MTIfArchiveTypeEnabled>
================================================================

トップページのカテゴリーをクリックした先のページを
現在カテゴリーアーカイブ上で作成しようと上のソースをいじって
色々試してみましたが、上手くいきません。

全ての各カテゴリーの下にそのカテゴリーに属するエントリーを表示
させる事はできたのですが、今いるカテゴリーページのエントリー
だけを表示させる事がどうもよくわかりません。

何卒、ご指導・ご鞭撻宜しくお願い致します。

[18] Posted by kenji1020 : July 20, 2007 1:00 PM

>kenji1020さん
こんにちは。
ご質問の件につきまして確認ですが、カテゴリーA?Cの下にサブカテゴリーはありますでしょうか?もしあるとすれば、そのサブカテゴリーのエントリーは表示させないということでしょうか?
それではよろしくお願い致します。

[19] Posted by yujiro : July 20, 2007 2:50 PM

yujiroさん>

コメント有り難うございます。
サブカテゴリーですがこちらは作っていない状態で、
メインカテゴリーにエントリーを増やしていっている感じにしています。

なので、メインカテゴリーの下に追加したエントリーが増えて欲しいんです。

お忙しい中申し訳ございませんが、ご指導ご鞭撻宜しくお願い致します。

[20] Posted by kenji1020 : July 21, 2007 12:45 AM

>kenji1020さん
こんにちは。
遅くなりましたが「カテゴリー・アーカイブのカテゴリーリストで該当カテゴリーのエントリーのみを表示する」を投稿致しましたので、参考になれば幸いです。
それではよろしくお願い致します。

[21] Posted by yujiro : July 27, 2007 11:08 AM

yujiroさん>

ご返答有難うございます!
これから試してみます。

ご丁寧に有難うございました☆

[22] Posted by kenji1020 : August 2, 2007 3:50 PM
コメントする

*必須



お知らせ: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!