メインコンテンツに移動

メインナビゲーション

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

パンくず

  • ホーム
  • Drupalのモジュール(Views)のコンテキスチュアルフィルターの理解

Drupalのモジュール(Views)のコンテキスチュアルフィルターの理解

drupal
Views

モジュール(Views)のコンテキスチュアルフィルターがURL、環境変数などをSQL文のパラメータに変換します

  • Viewsで作成したページで取得可能なフィールドの一つ、または複数をコンテキスチュアルフィルターにすることができます
  • コンテキスチュアルフィルターの全体像としては以下のイメージのようです
    Viewsのコンテキスチュアルフィルターの入力、出力全体像
  • 入力:URLのパラメータ、固定値、ログインユーザー、PHPコードなどがあります
  • 変換:取得したパラメーターをIDから値などへの変換して、データクエリのSQL文に追加します
  • データが取得できない場合の検索結果の表示条件の設定

コンテキスチュアルフィルターがURLからパラメータを取得します

  • コンテキスチュアルフィルターの基本用途です
  • Viewsで作成したページの管理画面で設定したURLからパラメータを取得します
    ViewsのコンテキスチュアルフィルターがページのURLからパラメータ取得
  • ページのパス例: /chinese/words or /chinese/word/% (%の省略が可能)
    • 一つのコンテキスチュアルフィルター(例カテゴリフィールド)に参照されることができます
  • 複数のパラメータパス例: /chinese/words/%/%/% のようになります
    • 複数のコンテキスチュアルフィルター(例:カテゴリ、レベル、分類などのフィールド)に参照されることができます
    • コンテキスチューフィルターの設定画面で何番目のパラメータ参照設定をする必要があります
      コンテキスチューフィルターが何番目のURLパラメータ利用指定

コンテキスチューフィルタが環境変数の取得ができます

  • URL以外に、ログインユーザーID/固定値/PHPコードなどからパラメターとして取得ができます
  • PHPコードより幅広く各種パラメータの取得ができます

コンテキスチュアルフィルターが取得したパラメータを ID/値 を具体的なオブジェクトへの指定ができます

  • 取得したパラメータ(例:ユーザーID、タクソノミタームIDなど)がどのタイプのオブジェクト(例:ユーザー、タクソノミターム)などへの指定ができます
    • オブジェクトを指定しなければ、取得したIDがユーザーか、タクソノミタームかはViewsが理解できません
  • この指定はコンテキスチューフィルターの「検証の条件指定」項目にあります(言葉として分かりずらい)
    • 具体的なオブジェクトタイプを指定します
      取得したパラメータのオブジェクトタイプへの指定

コンテキスチューフィルターが検索結果がない場合の表示設定ができます

  • 検索結果の表示設定は基本的にViewsのフォーマット、ページャーなどで行います
  • コンテキスチューフィルターがくわえたら検索結果がないことはあります。その場合にどのように表示するかを設定します(以下のはよく使う表示表示例)
    • 全件表示
    • ページが見つかりません
    • コンテンツの非表示
    • メッセージの表示
    • など
ホーム

古松

検索

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)