メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • Drupalのモジュール(Views)にあるコンテキスチュアルフィルター(Global:Null)の活用

Drupalのモジュール(Views)にあるコンテキスチュアルフィルター(Global:Null)の活用

drupal
video
Views

モジュール(Views)のコンテキスチュアルフィルター:Global:Null がデータクエリへの影響せず検索結果表示に調整できます

  • 背景:Drupal7.55、Views7.x-3.16
  • 「Viewsのコンテキスチュアルフィルターへの理解」を参考してください
  • モジュール(Views)のコンテキスチュアルフィルター(Global:Null)が初心者にあまり気づかないでしょう
    コンテキスチューフィルター(Global:Null)の全体像
  • 実はGlobal:Nullが検索結果の表示調整に非常に便利な存在です
  • Global:NullフィルターはSQLクエリに影響を与えないですが、検索結果の表示の調整ができます
  • 以下の例では:Viewsの外部設定フィルターの入力が無ければ、検索結果のコンテンツ一覧表示しない

Global:Nullを用いて外部設置フィルターに入力が無ければコンテンツ表示させない活用

  • Viewsの仕様では、外部設定フィルターの入力が無ければ、検索条件にあるすべてのコンテンツを表示します(大半はこれで良いでしょう)
  • 外部設定フィルターの入力が無ければ、検索結果のコンテンツ表示をしたくない要望もあります
    • 内容があまりに多いため、全件表示する必要はない
  • ここでGlobal:Nullフィルターで外部設定フィルターの入力の有無を検出して、検索結果表示を変更します
    • フィルターの値がURLに含まれていない場合 >> デフォルト値を指定 >> タイプ:PHPコード
      • 以下はPHPコードで外部設置フィルターの入力有無を検出する例
        // $viewオブジェクトにあるexposed_input配列
        if( count($view->exposed_input) >0 ){
          return true;
        } else {
          return false;
        }
    • フィルターの値がURLに含まれている、あるいはデフォルトの値が与えられている場合 >>  検証の条件を指定:PHPコード
      • 以下は検出した結果をコンテンツ一覧表示する/しない設定を行います
        // $handler->argumentは入力有無判断結果
        return $handler->argument ;
    • フィルターの値がURLに含まれている、あるいはデフォルトの値が与えられている場合 >>  入力された値が検証に失敗した際に実行するアクション:”結果がありません”の内容表示
      Global:Nullで外部設置フィルターの入力がない場合コンテンツ知覧の表示しない
  • 但し、この方法ではAJXの外部設定フィルターに無効です(初期表示のみこのフィルターを通すが検索際にこのフィルターを通さない)
Embedded thumbnail for Drupalのモジュール(Views)にあるコンテキスチュアルフィルター(Global:Null)の活用
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)