月/年ごとに結果をグループ化するビューを作成する


7

月/年で結果をグループ化するビューを作成する方法を知っている人はいますが、結果を拡大して印刷できます。次のデータセットを取ります:

イベント

    イベント名イベント日
    ---------- ----------
    イベント1 2011-05-01
    イベント2 2011-05-15
    イベント3 2011-05-30
    イベント4 2011-06-04
    イベント5 2011-06-22
    イベント6 2011-07-01
    イベント7 2011-08-16
    イベント8 2012-01-01
    イベント9 2012-01-02
    イベント10 2013-05-15

ビューがそのデータを次の形式で出力するようにします。

    2011年5月
    --------
      イベント1
      イベント2
      イベント3

    2011年6月
    ---------
      イベント4
      イベント5

    2011年7月
    ---------
      イベント6

    2011年8月
    -----------
      イベント7

    2012年1月
    ------------
      イベント8
      イベント9

    2013年5月
    --------
      イベント10

そのため、ビューは実際にはSQLでグループ化されず、月と年で視覚的にグループ化された見出しでイベントを出力する必要があるだけです。

回答:


0

このように月ごとにグループ化できるかどうかはわかりませんが、テンプレート(または前処理関数)でこれを行うのは非常に簡単です。

すべての行をループして、イベントに新しい月/年があるかどうかを確認するだけです。発生するたびに、の形式でイベントの日付を追加しますMonth year。これh3により、マークアップビューに依存するのではなく、fx などのサイトに最も適したものを月単位で柔軟に印刷できます。


EntityQueryを使用し、手動でグループ化するコードで、これを実際に既に実行しました。これを行うことができないビューの実際の制限のようです。
Camsoft、2011年

@camsoft Viewsはこれを追加できたかもしれませんが、MySQL、PgSQLなどのSQLサーバー全体に実装する必要があるさまざまな方法で、これが追加されない理由を確認できます。人々はあなたと同じように、ビューにこの機能を追加する代わりに、自分でクエリを作成します。
googletorp

@googletorp私はdrupalの新人です。このdrupalに回答してください。stackexchange.com/ q / 120546/28667
Mohammad

14

月-年を含む任意のフィールドでグループ化できます。日付フィールドを選択し、出力をカスタマイズする必要があります。次に、ビューは、[フォーマット:設定]の[グループ化]オプションを使用して、フィールドでグループ化できます。


ビデオをさらに素晴らしくて便利なものにするために、ユーザーの次の問題、「毎月の見出しの下でのソートの混乱」に入る可能性があります。紛らわしいものを追加するには:カスタム日付形式Ymdを使用して、タイトルの横に表示される別の投稿日フィールドを追加します。ブログ投稿が乱雑な順序で表示されるようになりました。
olleolleolle 2012

3
私はあなたのビデオを見ていませんでしたが、含まれていない場合は、「レンダリングされた出力からタグを削除」を有効にして、グループ化が正しく機能するようにする必要があります。これは、コア内のRDFと関係があります(有効な場合)。これが有効にされていない場合、グループ化を混乱させる可能性があります。
Nigel Waters

2

ビューを使用してそれをテーブルとして表示することができます。テーブルには、フィールドをグループ化するオプションがあります。


1
日付でグループ化する場合、グループ化を機能させるために、[レンダリングされた出力を使用して行をグループ化する]オプションをオフにする必要がある場合があります。
Ajinkya Kulkarni 2012

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.