Posted by wataru.kato on February 19, 2014 at 7:41am
https://groups.drupal.org/node/404303
の続きです。
だんだん欲が出てきまして、Viewsで
「ログインユーザーに対する、サイト全体を通じての未読コンテンツ一覧」
が作れたら完璧だなあと思いました。
Viewsには「has new content」フィールドがあるので、
DBのどこかでアクセス履歴を持っていることは判るのですが、
それを使って作れるのでしょうか。
Trackerは更新コンテンツ情報っぽいので、この場合は使えないのでしょうか。
Comments
解決しました
本件、冷静に振り返ると私の前回の質問に頂いたアドバイス:
https://groups.drupal.org/node/404303#comment-1012743
これと結局同じことだと気が付きました。
改めて詳細確認すると、「has new content」の値は
・コンテンツの投稿、更新 ⇒ has new content = 新規、更新
・コンテンツへのコメントが追加、更新 ⇒ has new content = 更新
になることが判りました。
また一方でコメントに対しては類似プロパティがなさそうなので、
結局 has new content だけを条件にして絞り込めば、
コンテンツとコメントを一緒に考えての「未読(新規、更新)のコンテンツ一覧」
にできることが判りました。
なので以下のビューを作って「ここ1週間以内の未読コンテンツ一覧」としました。
(絞込条件(FILTER CRITERIA))
・コンテンツ:掲載(はい)
・コンテンツ:Has new content ※条件に入れるだけで値がある場合にTrueと判定
・コンテンツ:Updated/commented date (>= -1 week)
(ページャー(PAGER))
・ページャーを使用: Display all items | All items
以上で一覧ができました。フォーマットはお好みです。
さらに、「ここ1週間の未読のコンテンツは n 件 です。」 の表示も作りました。
これは上記条件に加えて、
(その他)
・Use aggregation:はい
(フォーマット(FORMAT))
・フォーマット: Unformatted list
・表示: フィールド ※各フィールドをインラインに変更
(フィールド(FIELD))
・Global: Custom text (前の文章)
・コンテンツ:タイトル ※Aggregation settings から COUNT(回数)を選択
・Global: Custom text (後の文書)
で、できました。
CSSクラスを定義して色替えもしました。