web-dev-qa-db-ja.com

ビュー/ブロック:ノードフィールドに値がある場合のみ表示されます

ビューにブロックを作成しました。ノードのブールフィールドがチェックされている場合にのみ、このブロックを表示します。ビュー自体は、ノードに関連するコンテンツのみを表示する必要があります。これどうやってするの?


ノードに関連するビューにコンテンツを表示する場合、通常は「コンテキストフィルターID:ノード」を使用できます。これにより、ビューがノードを引き継ぐことができます。ただし、ビューのページ表示でのみ機能し、ブロック表示では機能しないようです。

これで、Rules、Panels、Node Fields Blockなどのモジュールを使用してこれを実現できます。しかし、これらは非常に大きなモジュールであり、サイトの小さなものにのみ使用したいので、私は彼らが余分なモジュールなしで実行できるいくつかの解決策になることを望んでいました。

1
big_smile

これは、「コンテキストフィルター」で「コンテンツ:Nid」を選択し、そのブールフィールドを「フィルター基準」として追加した場合にも、ブロックのビューで機能するはずです。

  1. コンテキストフィルターとして[コンテンツ:Nid]を選択します。

  2. [デフォルト値を提供]を選択します

  3. 続きのタイプとして、URLからコンテンツIDを選択します。フィルタ。

  4. [フィルター条件]でそのブールフィールドの値を選択します。

ビューを作成するときは、[表示]で[コンテンツ]を選択します。

1
take2

context モジュールを使用すると、ページにブロックを条件付きで表示できます。 context_entity_field 次に、ノードのブールフィールドに基づいて条件を設定できます。

1
Thomas4019