logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
25/08/2019, by mikhail

特定のユーザーに関連するブロック(例えば、その人の記事や広告)を表示したり、そのノードのページのブロックにノードの著者を表示したりする必要が非常によくあります。

しかし同時に、各ユーザーには独自の広告のリストがあり、各ノードには独自の著者があり、これらのブロックは各ノードとユーザーごとに応じて異なります。そのようなブロックのために、ビューにはコンテキストフィルターがあります。

drupal 8 contextual filters

それでは、広告のページで私たちの広告のデータだけがフィルタリングされるように、広告用のフィルターを追加しましょう。nid フィールドでフィルターします。このフィルターがどう動作するか見てみましょう。ノードの url があります

/node/13

ここで 13 は私たちのノードの nid です。コンテキストフィルターを通じて Views に、ノードを nid でフィルターするよう伝え、ノードの異なるページの各ノードに対して、対応するノードのデータを表示します。nid フィルターを追加します:

drupal 8 contextual filters

 次に、コンテキストフィルターの Default actions を選択する必要があります。この場合、Provide default value > Content ID from URL を選択します:

contextual filters

これで、プレビューフォームを通じて私たちのフィルターの動作を確認できます。私は nid 7 の広告を持っているので、7 を入力してプレビューボタンをクリックします:

Drupal 8 contextual filters

...