コメントの並び順を、投稿日時昇順だけど初期表示を最新5件等にしたい

Events happening in the community are now at Drupal community events on www.drupal.org.
wataru.kato's picture

Drupal7です。

最近Drupalで作った社内サイトが活用され始めてうれしいのですが、
フォーラムや記事に付くコメントが多数になるケースが出始めました。

今のところ最初の投稿を一番上に投稿日時昇順で並べています。
ですが1ページの最大投稿数を例えば10件とかに区切っていますので、
10件を超えると最新のコメントが最初にページを見たときに出てこないという状況です。

これを単純に投稿日時降順にして一番上に最新が来るようにすると、
ユーザーからは読みにくいと指摘されました。

以上を解決しようとすると、私のイメージでは

「最新10件|1-10/11-20/21-・・・|全て表示」

といった、コメント一覧用のページャー部品が欲しくなってきました。
そしてデフォルト=最新10件、並び順=投稿日時昇順、にする。

コメント欄にこういう部品を出すことは可能でしょうか?
モジュールで適当なものがあったりしませんでしょうか?

Comments

Views でコメントの一覧を作成

shigehiro's picture

さきほど投稿を読みまして、もう解決されてるかもしれませんが。

これは Views でコメントの一覧を作成して、標準のコメントの代わりに表示させるようにすれば良いと思います。

コメントのビューを作成して、フォーマットの「表示」のところは Fields ではなく「コメント」にします。これで標準のコメントと同様の出力となります。

CONTEXTUAL FILTERS に「(コンテンツ) コンテンツ: Nid」を追加します。
設定は「WHEN THE FILTER VALUE IS NOT AVAILABLE」のところで「Provide default value」にチェックを入れ、タイプで「Content ID from URL」を選択します。これで表示中のノードに対するコメントが抽出されます。

ページャーを希望するように設定します。

次にテンプレート comment-wrapper.tpl.php を編集します。

<?php print render($content['comments']); ?>

のところを

<?php print views_embed_view('作成したビューの名前'); ?>

に置き換えます。

これで標準のコメントの代わりにビューによるコメント一覧が表示(標準のコメント表示にページャーが追加された形)になると思いますが、

「降順だとユーザーが読みにくいし、昇順だと最新のコメントが最初のページに出てこない。」

これは操作フォームを追加して、昇順/降順を切り替えるようにすれば良いのではないでしょうか?
デフォルトでは降順にして最新のコメントをチェックできるようにし、通して読みたいときは昇順にする。

ビューの設定「SORT CRITERIA」のところの、「コメント: Post date」をクリックして、「Expose this sort to visitors, to allow them to change it」にチェックを入れます。これでこの条件の操作フォームが追加されます。ラベルは適当に編集してください。

設定画面右側の「Use AJAX」を「はい」にします。

Drupal カスタマイズTips 更新中...
CMS自由自在!
http://customfield.jp/

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: