Viewsクエリに多くの条件を追加する方法

カテゴリ Views コアバージョン 8.4x 関連モジュール hook_views_query_alter

modules/custom/your_module/your_module.module

/**
 * @param \Drupal\views\ViewExecutable $view
 * @param \Drupal\views\Plugin\views\query\QueryPluginBase $query
 */
function your_module_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if ($view->id() == 'your_view_id') {
    $or = new Condition('OR');
    foreach ($条件 as $_and) {
      $and = new Condition('AND');
      foreach ($_and as $key => $val) {
        if (!empty($val)) {
          $and->condition("node__{$key}.{$key}_value", $val);
        }
      }
      $or->condition($and);
    }
    $query->addWhere($whereGroup++, $or);
  }
}

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ昇順で並び替える Core Ver. 関連モジュール タイトル
ユーザの管理 7.27 PHP 新規ユーザーの追加ができない
ユーザの管理 8.9.x user pass drupal 8 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法
ユーザの管理 7.15 Devel 簡単に指定ユーザにログインしなおす方法
ユーザ 7.44 Password Policy 無効なユーザーを整理したい
ユーザ 7.23 User 長い投稿者名の表示が切れる
ユーザ 7.34 ip_ranges ログインアタック対策は?
ユーザ 7.44 Quickbar 会員の種別(役割)別にメニューを設けたい
ユーザ 7.38 user form 新規ユーザー登録時、パスワード再設定時のパスワード入力抜けを防ぎたい
ユーザ 7.23 PHP user_load_multiple()の復帰値
ユーザ 7.22 Realname ユーザーIDではなくニックネーム等を表示したい
メール 7.50 Smtp smtpでGmailアカウントを使いたい
ブロック 7.15 Views ひとつのViewsをページやブックページ中で再利用する方法は?
ブロック 7.23 伸縮するfieldsetブロックを追加したい
フォーム 8.9.x api GET/POSTされた情報を得る方法
フォーム 7.38 Webform Webformでタクソノミーを参照したい
フォーム 7.34 Webform 動的なフォーム(webform)
フォーム 8.9.x Views Views exposed filterのフォームに#default_valueを仕込む方法
フォーム 7.15 Webform Webformで確認画面
フォーム 7.15 Webform Webform - 確認ページの多言語化
フォーム 7.15 system mail()での送信が失敗する

ページ