メインコンテンツに移動
ホーム

古松

メインナビゲーション

  • ホーム
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • モジュールViewsについて

モジュールViewsについて

モジュールViewsがDBにあるデータをSQL文で抽出して、必要なフォーマットに変換して、ページ/ブロック/Feedなどに自由自在に表示することができる。

Drupalのコンセプトである「ブロック」(入力内容、サイトの構成部品など)、入力されたコンテンツデータをページ/ブロック/Feedなどの形で組立、サイトを構築していく。

現時点では、約84万サイトがViewsをインストールされたと報告されている。Drupal8がViewsをコアモジュールに収録した。

Viewsの基本機能

  • User、Article、Taxonomyなどの入力した全てのデータの利用が可能
  • GUI画面で検索条件を指定してデータ抽出するSQL文が自動的に生成される
  • 取得したデータをHTML List、Table、Treeなどの表示フォーマットにレンダリングが可能
  • レンダリングされたフィールドをBlock、Page、URLなどの管理ツールで表示することが可能
  • 開発用APIが提供され、各種設定/表示条件のプラグイン、数多いモジュールとの連携が可能
  • ここで、ブロックViewの設定画面で上記機能の実現に、以下のように条件設定

 

Drupalのモジュール(Views)のコンテキストフィルダーでタクソノミーターム名前での利用

やりたいこと:モジュール(Views)のコンテキストフィルダーでタクソノミーターム名でコンテンツを検索

  • 環境:Drupal7.54、Views:7.x-3.15
  • コンテンツ、タクソノミータームの構成:
    • 記事(Article)に「地域」ターム参照フィールドがある
    • タクソノミーターム:東京、埼玉、宮城
  • Viewsでコンテンツ(Article)一覧ページを作成します
  • コンテキストフィルダーで「Has taxnomy term」を選択します
    • 通常、タームIDでURLに入れればフィルダーリングができます
    • ターム名で入れると、検索結果がありません
  • コンテキストフィルダー設定の「検証条件を指定」欄の「フィルダーの値のタイプ」で「Term name convert to Term ID」を選択すれば、ターム名を自動的にタームIDに変換してくれます
    Drupalのモジュール(Views)のコンテキストフィルダーでタクソノミーターム名で検索
  • 実際のURLの後ろにターム名を追加して、検索すれば、検索結果が出ます
  • 具体的に操作はビデオを参考してください

フィルダーのタクソノミーターム名を検索結果のタイトルに上書きができます

  • タクソノミーターム名でコンテンツ検索ができて、当然検索結果のタイトルにもその名前を表示させたいです
  • 同じViewsのコンテキストフィルダー(has taxonomy term)設定画面の「タイトルをオーバーライド」をチェックします
    • 入力フィールドに「%1」(一番目の値の使用)を入力します
      Drupalのモジュール(Views)のコンテキストフィルダーでタクソノミーターム名を検索結果のタイトルを上書き
  • 検索タクソノミーターム名が検索結果のタイトルをオーバーライドしたことの確認

Drupalのモジュール(Views)でのページに出力コンテンツ件数が選択できるように

やりたいこと:モジュール(Views)で生成したページで出力コンテンツ件数がユーザーに選択できるようにしたいです

  • 環境:Drupal7.54、Views7.x-3.15
  • モジュール(Views)で生成したページに、ページ毎に出力コンテンツ件数がViewsの管理ページで行います
    モジュール(Views)のページャー設定
  • この設定が管理者に行われていますが、エンドユーザーが出力可能な件数の選択ができません

モジュール(Views)のページャー設定にエンドユーザーがページ毎で出力するコンテンツ件数を選択できるオプションがあります

  • 通常エンドユーザーが操作できるフィルターは「フィルターの条件」にありますが、ページに関する設定の項目が見つかりません。
  • 実際にページャーの設定の後ろにページ毎に出力するコンテンツ件数の「選択肢を外部設置」オプションがあります(意外にあまり注目されないところです)。
    モジュール(Views)のページャーでページ毎で出力する件数の選択肢を外部設置にします
  • 「選択肢を外部設置」はフィルター設置とともに設定することができます

Drupalのモジュール(Views/Panels)で同じURLに対して違う言語のコンテンツ表示する方法

問題点:モジュール(Views)のページの同一URLだけでは違う言語のコンテンツ表示はできません

  • 多言語サイト(日本語、英語)を構築します
  • タクソノミーボキャブラリー: Tags
  • タクソノミータームリスト(Tags): english, japanese
  • やりたいこと:モジュールViewsで違う言語の記事(タグでを仕分け)、それぞれの言語に表示させたいです
    • 日本語ページURL: ja/articles
    • 英語のページURL: en/articles
    • 二つページのURLをViewsで設定: /articles
      Viewsでタグで仕訳けしたコンテンツをそれぞれの言語に表示させる
  • ViewsでのページURL設定は言語のpath prefix( /en/ or /ja/ )を考慮していないので、当然言語スイッチが切り替えてもページは変わりません

モジュール(Panels)の言語の切り替え機能を利用してViewsで作成した違う言語のコンテンツを表示させます

  • Panelsの各Variant利用する条件として「選択ルール」設定があります
    • User: language を選択します
    • 言語一覧からどの言語に利用されるかを選択します
      Panelsの各Variantの利用条件として「選択ルール」を設定します
  • ViewsでPanelsが利用できる content-paneの作成ができます
    • モジュールViews content panes(Ctoolsのサブモジュール)を有効化します
  • Viewsで各言語対応の content-pane を作成して、Panelsで各言語対応のVariantで表示させいます
    Viewsで作成content-paneをPanelsで表示させる

 

 

 

 


検索フォーム

カテゴリ別

  • laravel
  • drupal
  • javascript
  • windows
  • html
  • mysql
  • php
  • apache
  • css
  • SEO
  • video
  • wordpress
  • linux
  • python
  • Electron
  • Visual Studio Code

google ads