全エントリーリスト・全コメントリスト・全トラックバックリストを表示
Movable Type で全てのエントリー・コメントおよびトラックバックを表示するカスタマイズです。全コメントリストについての参考記事は下記です。ありがとうございました。
まず全コメントリストを表示するためのカスタマイズです。これは「最近のコメント」のタグを修正して
<MTEntries recently_commented_on="<$MTBlogEntryCount$>">
<a href="<$MTEntryLink$>"><MTEntryTitle></a>
<br />
<MTComments>
└ <a href="<$MTEntryLink$>#c<$MTCommentID$>">
<MTCommentAuthor></a> <$MTCommentDate format="%m/%d"$><br />
</MTComments>
</MTEntries>
と、最初の行の recently_commented_on に全エントリー数である <$MTBlogEntryCount$> を指定すれば全てのエントリーに対するコメントを表示できそうですが、この部分にMT変数タグを指定すると再構築でエラーとなります。そこで MTTagInvoke プラグインを利用して、
<MTEntries recently_commented_on="<$MTBlogEntryCount$>">
<MTTagInvoke tag_name="MTEntries">
<MTTagInvokeAttribute name="recently_commented_on"><$MTBlogEntryCount$></MTTagInvokeAttribute>
<MTTagInvokeContent>
<a href="<$MTEntryLink$>"><MTEntryTitle></a>
<br />
<MTComments>
└ <a href="<$MTEntryLink$>#c<$MTCommentID$>">
<MTCommentAuthor></a> <$MTCommentDate format="%m/%d"$><br />
</MTComments>
</MTTagInvokeContent>
</MTTagInvoke>
</MTEntries>
とすることで表示できるようになります。MTTagInvoke プラグインについては個別エントリーアーカイブに同一カテゴリーのエントリーを表示を参照ください。
注:MTTagInvoke のタグ名をバージョン 1.0 の内容に変更しています。
次に、全トラックバックリストはTrackback元記事表示で紹介した MTPingedEntry プラグインを利用した場合、下記のようなタグになります。
<div class="side">
<MTPings sort_order="descend">
<a href="<$MTPingURL$>" target="_blank" title="<$MTPingExcerpt$>"><$MTPingTitle$></a><br />
└ →<MTPingedEntry><a href="<$MTPingedEntryLink$>"><$MTPingedEntryTitle$></a></MTPingedEntry><br/>
[<$MTPingBlogName$>] <$MTPingDate format="%m/%d %X"$><br/>
</MTPings>
</div>
ここでは MTTagInvoke は使用しておりません。これは MTPings タグの仕様で、何も指定しない場合は「システム全体で受けたすべてのトラックバックのリストを表示」になります。
sort_order="descend"
は新着順に表示するための指定です。逆にする場合は
sort_order="ascend"
となります。
全エントリーリストは、Movable Type がデフォルトで用意している「アーカイブページ」のデフォルトで設定されているタグ
<MTArchiveList>
<a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a><br />
</MTArchiveList>
で実現できますが、MTEntries を用いることでも可能ですので紹介しておきます。
次のリストはタイトル順にソートして一覧表示をする例です。
<MTEntries sort_by="title" sort_order="ascend">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntries><br />
カテゴリー別にまとめるには下記のようにします。これはユーザー・マニュアルに掲載されているものです。
<MTCategories>
<$MTCategoryLabel$><br />
<MTEntries sort_by="title" sort_order="descend">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntries><br />
</MTCategories>
MTEntries タグは sort_by を指定することで全てのエントリーを表示してくれるようです。ということで一番最初の全コメントリストは、
<MTEntries sort_by="modified_on">
<a href="<$MTEntryLink$>"><MTEntryTitle></a>
<br />
<MTComments>
└ <a href="<$MTEntryLink$>#c<$MTCommentID$>">
<MTCommentAuthor></a> <$MTCommentDate format="%m/%d"$><br />
</MTComments>
</MTEntries>
とすれば同様の表示をすることができます(こちらはエントリー更新順の模様)。
以上です。いずれも再構築時間の問題がありますので、自動的に再構築しない設定にされることをお勧めします。
2006.10.02
MTTagInvoke 1.0 の記述を追加しました。
2006.11.23
サンプルリストを MTTagInvoke 1.0 の内容に変更しました。
- Movable Type検索結果画面のMTIncludeタグでファイルを読み込む方法
- Movable Typeの月別コンテンツアーカイブリスト用テンプレート
- コンテンツデータでMTEntriesWithSubCategoriesの代替テンプレートタグ
- MTContentFieldタグの使い方
- Movable Typeでブログ記事一覧をカスタムフィールドでソートする方法
- MTの本文フィールドからimg要素のURLを取得する方法
- MTEntriesタグで指定した数の記事を除外して表示する方法
- Movable Typeのテンプレートタグの中でテンプレートタグを使う方法
- Movable Typeのテンプレートタグをテンプレートで生成する方法
- Movable TypeのMTEntriesタグで特定の複数ブログ記事を出力する方法
- Movable TypeでCSVデータからtable要素を作る方法
- MTIncludeタグのnameモディファイア
- Movable Type(MT)の特殊変数の入れ子
- ブロックタグにelseタグを組み込んで判定する
- Movable Type 5 におけるウェブサイトとブログの複数指定方法
≫ コメントとトラックバックのリスト一覧を作りました from 自然観察Blog
エントリーの数に対して、コメントやトラバの数はめっきり少ない当サイトですが、せっ... [続きを読む]
そうなんですよねぇ。再構築時間の問題によってTBなんかでエラーにならんかと心配だったり。(苦笑) でも、再構築を自動にしておかないと即座に反映されないし・・・。
痛し痒しですなー。
>Border.さん
こんにちはー。
コメントありがとうございます。
たしかにその通りですね。
部分的に再構築できる機能があるとありがたいのですが。
表示するコメント数を指定するにはどのようにすればよろしいのでしょうか。lastnで指定しても上手くいかないようです。何も指定しないと、20件くらいずらっと表示されてかなり長くなってしまいます。何か上手い方法があるのでしょうか。
>yusukeさん
こんばんは。
ご質問の件ですが、例えばエントリー毎に3件のコメントを表示する場合、一番最初のリストの場合は、
<MTTagInvoke tag_name="MTEntries"> <MTTagAttribute name="recently_commented_on"><$MTBlogEntryCount$></MTTagAttribute> <MTTagContent> <a href="<$MTEntryLink$>"><MTEntryTitle></a> <br /> <MTComments lastn="3"> └ <a href="<$MTEntryLink$>#c<$MTCommentID$>"> <MTCommentAuthor></a> <$MTCommentDate format="%m/%d"$><br /> </MTComments> </MTTagContent> </MTTagInvoke>
一番最後のリストの場合は、
<div class="side"> <MTEntries sort_by="modified_on"> <a href="<$MTEntryLink$>"><MTEntryTitle></a> <br /> <MTComments lastn="3"> └ <a href="<$MTEntryLink$>#c<$MTCommentID$>"> <MTCommentAuthor></a> <$MTCommentDate format="%m/%d"$><br /> </MTComments> </MTEntries> </div>
とすれば表示されるようです。ご質問の解釈が誤っておりましたらお許しください。
以上です。
それではどうぞよろしくお願い致します。
こんにちは。早速の情報有難うございます。たとえば、全コメントのうち、最新の10件のみを表示するという方法は不可能でしょうか。よろしくお願いします。
>yusukeさん
こんばんは。
エントリー毎にコメントをまとめて良いのであれば、MTCollate を使って「最近のコメント」を表示するはいかがでしょうか。
以上です。
それではどうぞよろしくお願い致します。
初めて書き込ませていただいております。今回MT3.31を導入、全コメントリストの表示をしようとしているのですが、MTTagInvokeを追加し、指定のタグも書き換えて再構築しようとすると、「テンプレート「メインページ」に解析エラーが発生しました: タグが閉じられていません。」というエラーが出てしまい、再構築ができない状態です。テンプレートそのものはこちらで公開されているテンプレートをお借りしており、bodyタグの変更と今回のタグの書き換え以外は特に変更はしていないはずなのですが・・・。ちなみにMTの設置はロリポップを使っています。3.31は新規インストールです。
初心者丸出しで大変お恥ずかしいですがアドバイスいただけるとありがたいです。宜しくお願いいたします。
すみません、肝心のタグが消えておりました。、「テンプレート「メインページ」に解析エラーが発生しました: <MTTagName>タグが閉じられていません。」です。
>葛城宮雅さん
はじめまして。
テンプレートご利用&ご連絡ありがとうございます。
ご質問の件につきましては、別途対処方法を記したエントリー致しますのでお待ちください(とりあえず MTTagInvokeプラグインを無効にしておけば再構築はできると思います)。
あと勝手ながらBlogPeopleに登録させて頂きました。
それではよろしくお願い致します。
早速の回答ありがとうございます。
現在の所JavaScriptを使ったツリー表示で対応するようにしております。
対処方法のエントリーが出ましたら今後の勉強のためにも挑戦してみたいと思いますのでどうぞよろしくお願いいたします。
>葛城宮雅さん
こんにちは。
ご連絡ありがとうございます。
本日、「Movable Type 3.3 の再構築で「MTTagNameタグが閉じられていません」になる問題の対処(改)」をエントリーしましたのでご確認ください。
それではよろしくお願い致します。