質問

同じタイプのコンテンツを指す2つのノード参照フィールドを使用するノードからデータを取得するビューで少し苦労しています。私の道から私は引数として1つの文字列を取得します、それを呼びましょう $fruit.

私が自分でクエリを書いていた場合に私が作るクエリは SELECT * FROM recipe WHERE (fruit_1=$fruit OR fruit_2=$fruit). 。私の問題は、Drupalビューでこれを行う方法がわからないということです。助言がありますか?

更新:私はついに私がやろうとしていたことを解決しました。私にとっての解決策は使用することでした Panels と一緒に View 使用 Views Or 引数、および最初の引数を使用して両方の引数値を同じに設定する Panels 口論。私が自分の問題を適切に説明しているかどうかを適切に説明しているかどうかはわかりませんが、誰かがより詳細な説明が必要な場合は、お気軽にお問い合わせください。

役に立ちましたか?

解決

ビューまたはモジュールアドオン: http://drupal.org/project/views_or

それは非常に強力であるため、デフォルトでビューに本当に含めるべきです。

「開始代替」オプションは、本質的に 'を配置します(「クエリに。次の代替」オプションは、基本的に「または」を「クエリ」に配置します。「エンドオルタナティブ」オプションは本質的にa'を配置します)。

ビューフィルターは「各フィールドの間に」としてセットアップされます。これにより、それが追加されます」または「機能が追加されます。したがって、あなたの例を使用すると、あなたのフィルターは次のようなものになります:

Content Type = Recipe
Begin Alternatives
Node Title = fruit_1
Next Alternative
Node Title = fruit_2
End Alternatives

より多くの「次の代替」フィルターを使用して、それぞれが他のフィルターの間にあるか、いくつかのオプションを使用できることに注意してください。まだ混乱している場合は、変更されるたびにビューペインのクエリプレビューを確認してください。

他のヒント

Views UIであなたのクエリの一部を行う方法はないと思います。ただし、独自のモジュールを作成し、ビューUIを使用してクエリの最初の部分を生成してから使用できます。 hook_views_query_alter モジュールで追加するだけです WHERE (fruit_1=$fruit OR fruit_2=$fruit) クエリの最後まで。

詳細について hook_views_query_alter ここここ. 。幸運を。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top