コンテンツタイプ_Basic Page
_があります。これは、分類用語フィールド_Page Type
_によってグループ化されることになっており、ビューでは以下の値になります。
ビューが1つのグループに_Page Type
_を表示し、別のグループに結果を表示するようにビューを設定するにはどうすればよいですか?これはhook_preprocess_hook()
またはカスタムtwig
テンプレートなしでも可能ですか?
ビュー設定:
Page Type
_、_User rendered output to group rows = true
_Page Type
_Page Type
_、Title
、_field_description
_Published = true
_、_Content type = Basic Page
_Page Type (asc)
_Page Type
_値:
現在の結果:
_<section class="views-content">
<div class="view-row">
<div> Blog </div>
<h3> Page Title1 </h3>
<div> Continually negotiate bleeding-Edge materials through installed.</div>
</div>
<div class="view-row">
<div> Blog </div>
<h3> Page Title2 </h3>
<div> Collaboratively disseminate global customer service for..</div>
</div>
<div class="view-row">
<div> Blog </div>
<h3> Page Title3 </h3>
<div> Continually evolve enterprise-wide total linkage through..</div>
</div>
<div class="view-row">
<div> Press Release </div>
<h3> Page Title4 </h3>
<div> Energistically productize competitive sources after standards..</div>
</div>
<div class="view-row">
<div> Video </div>
<h3> Page Title5 </h3>
<div>Professionally implement principle-centered portals without efficient..</div>
</div>
<div class="view-row">
<div> Video </div>
<h3> Page Title6 </h3>
<div> Uniquely fabricate high-quality testing procedures with..</div>
</div>
</section>
_
望ましい結果:
_<section class="views-content">
<div class="view-groups">
<div> Blog </div>
<div> Press Release </div>
<div> Video </div>
</div>
<div class="view-row">
<h3> Page Title1 </h3>
<div> Continually negotiate bleeding-Edge materials through installed.</div>
</div>
<div class="view-row">
<h3> Page Title2 </h3>
<div> Collaboratively disseminate global customer service for..</div>
</div>
<div class="view-row">
<h3> Page Title3 </h3>
<div> Continually evolve enterprise-wide total linkage through..</div>
</div>
<div class="view-row">
<h3> Page Title4 </h3>
<div> Energistically productize competitive sources after standards..</div>
</div>
<div class="view-row">
<h3> Page Title5 </h3>
<div>Professionally implement principle-centered portals without efficient..</div>
</div>
<div class="view-row">
<h3> Page Title6 </h3>
<div> Uniquely fabricate high-quality testing procedures with..</div>
</div>
</section>
_
あなたが達成しようとしているのは、フィールドでグループ化するのではなく、同じノードリストを2回表示して、2つのインスタンスの異なるノード情報を示しています。
同じフィルターを共有しながら、ビューに2つのディスプレイを作成して、1つはPage Type
フィールドのみを表示し、もう1つはTitle
とfield_description
を表示することで実現できます。
元のビューがページ表示である場合、他のビューに添付ファイル表示を使用することは理にかなっています。最初に作成したものに応じて、他の表示結果の前または後に表示されるように添付ファイルを調整します。また、それらの一方または両方をブロック表示にして、テーマのコンテンツ領域で上下に配置することもできます。
追加のモジュール Views Field View を使用して、1つのビューディスプレイを別のディスプレイヘッダーにレンダリングすることもできます。
HTMLは質問とまったく同じにはなりませんが、十分に近いので、特定のビュー表示のテーマのテンプレートをオーバーライドして、希望する出力を正確に実現できます。アタッチメントビューは通常、独自のクラスと、それらがアタッチされているディスプレイのview-row
の外側の.views-content
sで表示されますが、本当に必要な場合は、オーバーライドして独自のクラスを設定できます。
Drupal 7: 別のビューのリンクをクリックしてビューをフィルタリングする に対する同様の質問への回答を投稿しました。これはD8に完全にはミラーリングしませんが、露出フィルターの改善自動送信オプチンを使用して[送信]ボタンを非表示にすると、露出フィルターの動作をタブと同じにすることができます。
ビューの結果でノードで使用されている用語のみを一覧表示するもう1つの方法は、コンテキストフィルターを使用して概要を作成することです。
Page Type
フィールドにリレーションシップを追加します。どの結果にも空ではないため、必要になる場合があります。Taxonomy term
カテゴリから追加し、上記の関係と次のオプションを使用するように設定します。When the filter value is NOT in the URL
Base path
(これがビューの最初のページ表示でない場合)このようにして、結果に関連する用語の後に、ノードの元のリストを取得します。
用語はタグ付けされた結果の数ですでにソートされています。添付ファイル内のノードを同じ方法でソートするには、その上で集約を使用します。