個別エントリーアーカイブに同一カテゴリーのエントリーを表示
タイトルの通り、個別エントリーアーカイブで同一カテゴリーに属するエントリーの一覧を表示するカスタマイズです。公開テンプレートのカテゴリーアーカイブで同一カテゴリーのエントリー一覧を表示していますが、本カスタマイズを行うことで同じものを個別エントリーアーカイブに表示することができます。
一番最初にこのカスタマイズを発見したのは実はかなり昔で、下の記事です。
ご近所サイトさんでは下記がありました(とりこぼしご容赦ください)。
- ぐーたら on MT:個別記事にその記事の属するカテゴリーの記事一覧を。
- Magic White:個別記事にカテゴリー内記事一覧表示
- Stupid Excuse:This Category Entries
- やむやむ:ThisCategoryEntriesですと!?
以下、カスタマイズ方法です。
1.MTTagInvoke プラグインをダウンロード
下記のサイトよりプラグインをダウンロード・解凍して、0.9 の場合は MTTagInvoke.pl を plugins フォルダに配置(またはアップロード)、1.0の場合は MTTagInvoke フォルダごと plugins フォルダに配置(またはアップロード) します。
アップロード後、Movable Type 管理画面の
メイン・メニュー > システム・メニュー > プラグイン
でプラグインの一覧が表示されますので、その中に「MTTagInvoke」が表示されていればOKです。
2.テンプレートの設定
個別エントリーアーカイブテンプレートのサイドバーに下記のタグを設定します。上記のサイトからの情報をまとめて3パターン用意してみました。緑色は公開テンプレート用の設定を示しています。
注:MTTagInvoke プラグインは2006年9月7日、Movable Type 3.3 対応のため、1.0 にバージョンアップされました。これによりプラグインで使用されているMTタグの名称が下記のように変更されています。サンプルリストは 1.0 に合わせた内容に変更しましたので、もし 0.9 を使っている場合は、記事のサンプルリストをご利用になる際、適宜読み替えてください。
1.0(現在) | 0.9 |
---|---|
MTTagInvokeName | MTTagName |
MTTagInvokeAttribute | MTTagAttribute |
MTTagInvokeContent | MTTagContent |
2.1 同一カテゴリーに属するエントリー一覧を表示
<div class="sidetitle">
Entries of this Category
</div>
<div class="side">
<MTTagInvoke tag_name="MTEntries">
<MTTagInvokeAttribute name="category"><$MTEntryCategory$></MTTagInvokeAttribute>
<MTTagInvokeContent>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTTagInvokeContent>
</MTTagInvoke>
</div>
2.2 表示するエントリー数を指定
2.1に青色部分を追加します。サンプルは最近の5件を表示する設定です。
<div class="sidetitle">
Entries of this Category
</div>
<div class="side">
<MTTagInvoke tag_name="MTEntries">
<MTTagInvokeAttribute name="category"><$MTEntryCategory$></MTTagInvokeAttribute>
<MTTagInvokeAttribute name="lastn">5</MTTagInvokeAttribute>
<MTTagInvokeContent>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTTagInvokeContent>
</MTTagInvoke>
</div>
2.3 エントリー毎にコメントを表示
2.1または2.2に青色字部分を追加します。サンプルは最近の5コメントを表示する設定です。
<div class="sidetitle">
Entries of this Category
</div>
<div class="side">
<MTTagInvoke tag_name="MTEntries">
<MTTagInvokeAttribute name="category"><$MTEntryCategory$></MTTagInvokeAttribute>
<MTTagInvokeContent>
<MTIfNonZero tag="MTEntryCommentCount">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
<MTComments lastn="5">
└ <a href="<$MTEntryLink$>#<$MTCommentID$>"><MTCommentAuthor></a><br />
</MTComments>
</MTIfNonZero>
</MTTagInvokeContent>
</MTTagInvoke>
<div class="side">
2.4 ツリー化&日別表示をつける
「最近のエントリー」の日別表示を適用させてみました。サンプルは最近の10件を表示する設定になっています。lastn 指定の行を外せば全エントリーが表示されます。タグは ul -li のリスト形式になっていますのでご注意ください。
<div class="sidetitle">
Entries of this Category
</div>
<div class="side">
<MTTagInvoke tag_name="MTEntries">
<MTTagInvokeAttribute name="category"><$MTEntryCategory$></MTTagInvokeAttribute>
<MTTagInvokeAttribute name="lastn">10</MTTagInvokeAttribute>
<MTTagInvokeContent>
<MTDateHeader>
<ul><$MTEntryDate format="%m/%d"$>
</MTDateHeader>
<li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a></li>
<MTDateFooter>
</ul>
</MTDateFooter>
</MTTagInvokeContent>
</MTTagInvoke>
</div>
MTTagInvoke プラグインはMTタグのタグアトリビュート(属性)に対してさらにMTタグを利用できるというものです。一番目のサンプルを例にすると、本来書きたいMTタグは
<MTEntries category="<$MTEntryCategory$>">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntries>
となります。これは「最近のエントリー」表示用タグで、これに赤色部分で「表示されているエントリーのカテゴリーと同じエントリーを表示」を指定しているのですが、タグアトリビュート category の指定にMT変数タグ <$MTEntryCategory$> は指定できません(再構築でエラーとなります)。そこで MTTagInvoke プラグインを用いて、MTEntries の代わりに MTタグ名の指定
<MTTagInvoke tag_name="MTEntries">
を行い、続いて「タグアトリビュート category に <$MTEntryCategory$> を使う」という指定、
<MTTagInvokeAttribute name="category"><$MTEntryCategory$></MTTagInvokeAttribute>
を行うことで、
<MTEntries category="<$MTEntryCategory$>">
と同じ効果を得ることができる訳です。ここではタグアトリビュートをひとつだけ指定していますが、複数指定することも可能です。
2006.05.25 追記
2.3項のタグで、コメントがないエントリーが表示される不具合を修正しました。
2006.10.02 追記
MTTagInvoke 1.0 の記述を追加しました。
2006.11.23 追記
サンプルリストを MTTagInvoke 1.0 にあわせました。
- MyBlogList にスクロールバーをつける(改)
- BlogPeople のリンクリストにスクロールバーをつける
- BlogPeopleの「私を登録」での「サイト名」欄の改善
- トラックバック・ピープルのバナーをランダム表示する
- 用語集追加
- QRコード設定
- エントリーの画像をサイドメニューに表示
≫ 同カテゴリーの記事を表示 from 鯵、環境民俗学ヲ嗜ム
「個別エントリーアーカイブに同一カテゴリーのエントリーを表示: 小粋空間」さん... [続きを読む]
≫ ありました! from tubuyaki.net
デザインを考えながらとにかく頑張ってきたけど、 ネットで探すとやっぱりあるんです... [続きを読む]
≫ 個別エントリーに同一カテゴリーのエントリー一覧を表示。 from TOY COZY MUSEUM 別館
個別のエントリーのページに、そのエントリーが属するカテゴリーの過去のエントリータイトルを表示するカスタマイズです。「小粋... [続きを読む]
≫ MTで「同じサブカテゴリーの記事」 from ■tokix.net
MovableType3.1のサブカテゴリー機能を使い、個別記事アーカイブページで「同じサブカテゴリー内の記事」を一覧表示させる方法を紹介します。カテゴリー別ア... [続きを読む]
≫ This Category Entries from WhiteжButterfly
個別のエントリーのページへ、そのエントリーに属する過去のカテゴリーからエントリー... [続きを読む]
≫ 個別エントリーアーカイブに同一カテゴリーのエントリーを表示 from Toxic
いつもお世話になっている小粋空間さんの個別エントリーアーカイブに同一カテゴリーの... [続きを読む]
≫ 個別エントリーのページに同じカテゴリーのエントリーリストを表示する from LOVE×LOVE!?
小粋空間: 個別エントリーアーカイブに同一カテゴリーのエントリーを表示を参考に、... [続きを読む]
≫ お世話になったサイト4[MTカスタマイズ1] from ▼■▼■● Vivid-style.com
... [続きを読む]
≫ 同じカテゴリー内の記事 from ラブとレイといつまでも
カテゴリーから入ったページの最近の記事は同じカテゴリー内の記事を表示しますが、そ... [続きを読む]
≫ 個別エントリーアーカイブに同一カテゴリーのエントリーを表示-MTTagInvoke Plugin from Forte
このカスタマイズを発見したのは、いつもお世話になっている下のブログからでした。 ... [続きを読む]
≫ 個別記事にその記事の属するカテゴリー記事表示 from 実践ウェブデザイン!ブログでCMSを構築する
個別記事にその記事の属するカテゴリーの記事を表示するMTのプラグインを紹介。 [続きを読む]
≫ [u*] エントリーアーカイブに同一カテゴリーリストを表示 from : : useful days* ? : :
参考にさせていただきました!いつもお世話になってます♪ [続きを読む]
≫ 個別エントリに同一カテゴリのリスト表示 from TOM'S HOME
個別エントリーアーカイブに、 同一カテゴリのエントリリストを表示させました。 小... [続きを読む]
≫ Movable Type で「記事と同じカテゴリ内の最近の記事」を表示する。 from JRF のソフトウェア Tips
プラグインを使わなくてもSSI とインデックステンプレートを組み合わせて使えば、「記事と同じカテゴリ内の最近の記事」を表示することができる。 当初、 M... [続きを読む]
≫ MTTagInvoke 1.0 from WEB備忘録(うぇぶびぼうろく)
個別ページで同じカテゴリーに属したエントリーだけをリストアップ出来ます。 [続きを読む]
≫ MTで同一カテゴリー内のエントリー一覧表示 from 初心者のためのヤフーオークション
MTで通常、サイドメ... [続きを読む]
≫ MovableTypeにいろいろ手を入れてみた from Jay's Room
小粋空間を見ていて、自分もいろいろカスタマイズしたくなったので、 いくつか新機能... [続きを読む]
≫ エントリーページで同一カテゴリーのエントリー一覧を表示する from VineLinuxで自宅サーバ構築
MovableTypeの仕様上エントリーページで同一カテゴリーのエントリーを表示させることはできません。 MovableTypeの仕様上エントリーページで同一カテゴリーのエントリーを表示させることはできません。 [続きを読む]
≫ MTカスタマイズ:個別エントリーに関連記事を表示するプラグインMTTagInvoke from Dog*Walkキャバグロでゴー!
今まで「MTEntriesWithSubCategories」タグを使って、 ... [続きを読む]
≫ コメントとトラックバックのリスト一覧を作りました from 自然観察Blog
エントリーの数に対して、コメントやトラバの数はめっきり少ない当サイトですが、せっ... [続きを読む]
おはようございます。風邪は治りましたか?
yujiroさんちの記事に やむやむの名前が登場するなんて光栄です。ヽ( ̄▽ ̄)ノ
>さえらさん
こんばんは。
コメントありがとうございます。
このシリーズではまた登場するかもしれません。
風邪はまだ私から離れたくないみたいです(笑)。
こんにちは。
早速導入させていただきました。アリガトウゴザイマス。“ツリー化&日別表示”を参考にさせていただきました。
風邪には、大量の100%グレープフルーツジュースを浴びるように昼夜問わず飲んで、笑ってしまうような発汗と排ニョ?(失礼)を促進させるのが、どんな薬よりも効くと自身の体験からも信じております。参考になれば・・・(なりませんね(笑))。
>toycozyさん
こんばんはー。
ご利用ありがとうございます。
お気遣いありがとうございます。とりあえずグレープフルーツジュース買って飲みました(笑)。
発汗も大事ですよね。今回はあまり汗がでないのですが毛布をグルグル巻きにして寝てみます(笑)。
はじめまして。
こちらの記事を参考に早速導入させていただきました!本当に本当にありがとうございました。
さらに追加でやりたいことがあったので質問させていただきたいのですが、
個別エントリーアーカイブに表示される「最近のコメント」と「最近のトラックバック」を、その記事と同じカテゴリーのもののみにすることは可能でしょうか。
いろいろなサイトを探してみたのですが、そのような機能を紹介してくださっているところを見つけられなくて・・・。
とてもずうずうしいお願いかもしれませんが、もし、そのような機能があれば是非教えてください。
よろしくお願いします。
>IZMさん
こんばんは。
ご質問の件ですが、実現可能かどうか確認しますのでしばしお時間ください。
もし可能であれば記事をエントリーします。
こんにちは。
お返事ありがとうございます!
確認くださるとのこと、本当にありがとうございます。
どうぞよろしくお願いします。
はじめまして
記事を参考にMT3.31で導入してみました。
しかし
<MTTagAttribute name="lastn">5</MTTagAttribute>
の部分だけ機能していないようなのです。
MT3.2では問題なく5件表示されます。
対処方法がわかるようでしたらお教え頂けるとありがたいのです。
>marshさん
こんにちは。
記事参照ありがとうございます。
ご質問の件ですが、3.31-ja で2.2項のリストを適用する場合、「Movable Type 3.3 の再構築で「MTTagNameタグが閉じられていません」になる問題の対処(改)」の修正を行えば正常に動作(=最新の5件を表示)しています。
なお質問の解釈が誤っているようでしたら、お手数ですが具体的な設定例とどのような事象になるのかをお知らせください(プラグイン未修正+2.2項のタグをご利用という解釈で回答させて頂きました)。
それではよろしくお願い致します。
早速のご回答ありがとうございます。
コメントに入れさせて頂いてからいろいろと試してみました。
まず、1.「プラグイン修正済+2.2項のタグを利用」という内容で、再構築時にエラーは出ません。2.生成されたソースを見ると「カテゴリー名</MTTagAttribute>」「5</MTTagAttribute>」が入っています。(htmlで表示させると「カテゴリー名 5」となります。)3.サーバーはロリポップを使用しており、このテンプレートを他のサーバーへ持って行くと正常に生成されます。
どうやらMTTagInvoke プラグインが悪いわけではなさそうですが・・・。
こんな内容でご回答頂けるようでしたら、よろしくお願い致します。
誠に申し訳ございません。
上のコメントを入れたあと、もしやと思いプラグイン一覧を見たら利用不可となっていました。
利用不可なら動作しないですよね。
でもなぜ利用不可になったのかは不明です。
お手数をおかけしました。
ありがとうございました。
>marshさん
こんにちは。
ご連絡ありがとうございました。
プラグインが利用不可になっているとは気が付きませんでした。
なにはともあれ解消してよかったです。
ではでは!
いつもこちらのカスタマイズにはお世話になっております。
お伺いしたいのですが、MTTagInvokeプラグイン1.0 は3.2-ja-2 では動作しないのでしょうか。
plugins にMTTagInvoke.pl をアップした後、エントリーを再構築してみると以下のようなエラーが発生しました。
ちなみに個別アーカイブに設定しているのは2.1 の方法です。
※ディレクトリはhoge としています。
Can't locate MTTagInvoke.pm in @INC (@INC contains: /home/hoge/public_html/hoge/plugins/spamlookup/lib /home/hoge/public_html/hoge/extlib lib /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /home/hoge/public_html/hoge/plugins/MTTagInvoke.pl line 37.
なんとなくperl のバージョンが問題なのかなという思いはしているのですがエラーの意味もわからず悩んでいます。
(perl5 の表記が何箇所かにありますから・・・)
お忙しい中申し訳ございませんがご教授いただけないでしょうか。
続け様にすいません。
MTTagInvoke プラグインMT タグ対応表にあるようにタグを修正したのですが
やはり同じエラーが発生してしまいます。
MTTagInvoke.pl line 37. とあるのでそこを見てみてもどういう関係性があるのかわかりません。
これはもう3.3にした方がいいということなんでしょうか。
>海月さん
こんにちは。
お世話になります。
ご質問の件ですが、0.9 と 1.0 でプラグインの配置方法が変更になっていました。
記事は修正しておきましたのでご確認頂けますでしょうか。
それではよろしくお願い致します。
フォルダごとplugins にアップすると無事再構築できました!
README.TXT にも書いてありましたね。
よく読まずに頼ってしまいすいませんでした。
解決してホッとしています。
どうもありがとうございました。
>海月さん
こんばんは。
ご連絡ありがとうございました。
無事に設置できたようでよかったです。
ではでは!
こんにちは。
いつも勉強させてもらっています。
今回この記事のプラグインをダウンロードしたのですが、
Movable Type 管理画面の
メイン・メニュー > システム・メニュー > プラグイン
のプラグインの一覧に「MTTagInvoke」が表示されません。
何度も削除したりアップロードしたりしたのですが・・・。
バージョンは3.35です。
どうかアドバイスをお願いします。
>クロさん
こんばんは。
ご質問の件ですが、MTTagInvokeのバージョンと、どのディレクトリにアップロードして、アップロード後の(プラグインの)ディレクトリ構成をお知らせください。
また、他のプラグインは正常に認識されていますでしょうか。
それではよろしくお願い致します。
お返事ありがとうございます
バージョンは1.0です。
ご指示通り、pluginsフォルダにアップロードしました。
cgi/mt/pluginsのpluginsフォルダにアップロードし、アップロード後も
cgi/mt/pluginsのplugins/MTTagInvokeとなっております。
他のプラグインを試しにアップロードしたところ、正常に認識されていました。
フォルダごとアップロードせずに、個別にアップロードしたところ(アップロード中にエラーが生じましたが・・・)認識されました。
お騒がせしてすみません。
>クロさん
こんばんは。
ご連絡ありがとうございました。
自己解決したようで良かったです。
ではでは!
いつも参考にさせていただいております。深謝。
例えば同一カテゴリではなく、同じタグやキーワードが設定されたエントリーを表示させることができないかと思っています。
動いたらしめたものと思いまして、無理やり
MTTagInvokeAttribute name="tag"
などとしたら同じタグをつけたきじを表示してくれたのですが、過去の記事では新しいほうの記事が表示されなかったので・・
こちらのサイトのように、関連記事を表示することをやってみたいのですが・・
ご教授いただけたらありがたいです。
>dongameさん
こんにちは。
ご質問の件ですが、関連タグのエントリー一覧を表示させるのであれば「TagSupplementals」プラグインをお勧めします。
それではよろしくお願い致します。
いつもお世話になっております。
この度mt4をダウンロードしたのですが、このプラグインは4では使用できないのですよね?
このプラグインと同じように、ブログ記事内で同一カテゴリー内のエントリーを表示するプラグインもしくは、タグがあるんでしょうか?
タグのマニュアルを見て色々と試してみたのですが、エラーが表示されたりでうまくいきません。
>クロさん
こんにちは。
ご質問の件ですが、おっしゃる通り、本プラグインはMT4では正常に動作しません。
本カスタマイズ方法につきましては別途エントリー致しますので、少々お待ちください。
それではよろしくお願い致します。
はじめまして。いつも本当に勉強になっております。
で、ぜひご教授願いたいのです。
「MTTagInvoke」プラグインを使って、<$MTInclude module="xxx"$>で呼び出すモジュール名の値に、MTタグでエントリーの概要に入れた文字列を代入して、エントリーごとに違うモジュールを呼び出すようにしたいのですが、どうしても再構築で失敗してしまいます。以下がソースです。
<MTTagInvoke tag_name="MTInclude">
<MTTagInvokeAttribute name="module">
<$MTEntryExcerpt$>
</MTTagInvokeAttribute>
</MTTagInvoke>
エラーの文言は「テンプレート・モジュール「xxx」が見つかりません」と出ます。xxxは正しいモジュール名なので、確かにプラグインで値は吐き出されているはずなのに・・・。プラグインを使用せずに普通にインクルードすれば、問題なく再構築できます。また、インクルードのアトリビュートを"file"にして、外部ファイルを読み込む形にしてみましたが、やはりダメでした。以下のページの方など、同じようにインクルードでこのプラグインを利用しているみたいですが。
http://bizcaz.com/archives/2006/08/26-025636.php
色々考えたんですが、どうしても解決できません。考えられる原因として何があるでしょうか・・・?バージョンはMT3.35です。PHP化はしていません。
長文申し訳ございません。宜しくお願い致します。
昨日コメントしましたtoshiです。
ご質問させていただいた件、何とか自己解決する事ができました。
エラーメッセージを調べてみたところ、モジュール名の後に不自然なスペースが一文字分入っている事に気づきました。もしやこれでモジュールが読み込めないのではと思い(MTタグの記述内には見当たりませんでしたが)改行を無くして書くことで、ちゃんと読み込んでくれました。
すみません。意外に簡単な落とし穴の割りに、えらい苦労してしまいましたが、おかげさまで解決しました。
今後とも宜しくお願い致します。いつも参考になる記事、楽しみにしています。
>toshiさん
こんにちは。
ご連絡ありがとうございました。
ご質問の件、自己解決されたようで良かったです。
MT4で同様の機能を実現するMTSetVarBlockタグでも同様の事象(余分な改行を含む場合がある)がありますので、バージョンアップされたときの参考になれば幸いです。
ではでは!