この連載が書籍になりました! Drupal 8初の日本語解説書『Drupal 8 スタートブック』好評発売中です。

【Drupal 8入門】Viewsによるコンテンツ一覧ページの作成(後編)―AJAXページャーや検索機能の実装

2016年9月1日(木)
ANNAI株式会社

作成した「Viewsブロック」をトップページに配置する

1.管理者メニューの「サイト構築」から「ブロックレイアウト」リンクをクリックします。

「ブロックレイアウト」画面の「content」リージョンの「ブロックを配置」をクリックします。image alt text


2.「ブロックを配置」ウィンドウから「製品紹介ブロック(トップ)」の右側にある「ブロックを配置」ボタンをクリックします。

image alt text


3.「製品紹介ブロック(トップ)」の設定ウィンドウで、「ページ」を選択しトップページを意味する「」と入力して「ブロックの保存」をクリックします。

image alt text


4.「content」リージョンのブロックの並び順を以下の通りに並び替えて、画面下の「ブロックの保存」をクリックします。この状態でトップページの表示を確認してみます。「新着情報ブロック(トップ)」の下に「製品紹介ブロック(トップ)」が表示されています。

image alt text

image alt text

AJAXページャーの実装

1.トップページの「製品紹介ブロック(トップ)」下のページャーの「2」以降をクリックして挙動を確認してください。

image alt text

ページが遷移して次の「製品紹介」が4件表示されます。URLを確認するとトップページのURLの最後に「/?page=1」のように、表示するページ番号がpageというクエリパラメータで指定されていることがわかります。「2」「3」も同様に別URLへ遷移します。

image alt text

image alt text

次にこのページャーを、ページ遷移なしで(URLが変わらずに)「次の製品4件」を表示できるAJAXページャー機能を実装します。


2.「製品紹介ブロック(トップ)」の設定画面の左側の「高度」をクリックします。

image alt text


3.高度な設定項目が表示されます。「AJAXを利用」の「いいえ」リンクをクリックします。

image alt text


AJAXの設定ウィンドウが開いたら「AJAXを利用」チェックボックスにチェックを入れて「適用(すべてのディスプレイ)」「保存」ボタンをクリックします。

image alt text


4.再度トップページの「製品紹介ブロック(トップ)」のページャーの挙動を確認してみます。ページ遷移なしで次のコンテンツが表示されるようになりました。このようにViewsを使うと非常に簡単にAJAXページャー機能を実装できます。

image alt text

image alt text


「Viewsページ」で「製品紹介」ページを作成する

次に「製品紹介」ページを作成しましょう。サンプルサイトのこちらのページです。

今回作成する「Viewsページ」には製品検索機能を実装します。左カラムのブロックで「製品名」や「製品カテゴリ」で製品の絞り込みや検索が可能です。また、ページあたりの表示件数も設定できます。

右カラムには製品紹介の一覧が表示されています。これはトップページに表示した「製品紹介ブロック(トップ)」と同様に、AJAXページャーを実装しています。

image alt text


仕様を表にすると以下の通りになります。この仕様を満たすViewsを作成していきます。

コンテンツタイプ 表示形式 表示フィールド 表示件数 表示順 フォーマット 検索機能
製品紹介 ページ ・製品画像
・タイトル(リンク付)
・本文(概要を表示)
初期8件 投稿日時が 新しい順 グリッド 検索用ブロックで提供
・製品名
・製品カテゴリ
・ページ毎の件数

Viewsの作成

1.先ほど作成した「製品紹介」ビューの画面へ移動し、「追加」タブから「ページを追加」メニューをクリックします。

image alt text


2.「ページの設定」セクションの「パスがセットされていません。」リンクをクリックします。

image alt text


3.「ページ:このビューのメニューパスまたはURL」「パス」に「/product」と入力し、「適用」「保存」ボタンをクリックします。image alt text


4.この「ディスプレイ」の「表示名」を変更します。「表示名」の「ページ」リンクをクリックして、「管理用名称」に「製品紹介ページ」と、「管理用の説明」に「製品紹介の一覧を表示するページです。」と入力し「適用」「保存」ボタンをクリックします。

image alt text

image alt text


5.この時点でプレビューを確認してみましょう。「パス」に先ほど設定した「/product」が設定されている以外は、「製品紹介ブロック(トップ)」を作成したときと同じ表示になっています。実際にサイト上でどのように見えているのかも確認してみましょう。「/product」リンクをクリックします。

image alt text


/productページを確認してみると、「製品紹介ブロック(トップ)」と同じ表示形式が適用されているのが確認できます。

image alt text


この状態から目的とする形式にするためには、以下の3つの設定を変更する必要があります。

これからこれらの設定を行ってきます。

  • 表示件数を8件に変更
  • AJAXページャーの実装と次ページへのインデックス表示
  • 検索フォームの実装

image alt text

表示件数の変更とページャーの設定

1.Viewsの「製品紹介(コンテンツ)」画面の「製品紹介ページ」ビューのページャーの項目から現在の設定を確認します。

image alt text


2.「ページャーを使用」の「ページ分け、4件のアイテム」リンクをクリックします。

image alt text


※もし「ページャーを使用」の項目が「ミニ」だった場合には「ミニ」をクリックして、「ページャーを選択」ウィンドウで

「ページ分けして出力、フルページャー」を選択します。後は以降の設定に従ってください。

image alt text

image alt text


3.「ページ毎の件数」に「8」と入力して「適用」「保存」をクリックします。

image alt text


4.「プレビュー」と「/product」ページを確認します。表示される「製品紹介」の件数が8件になりました。image alt text

この状態でページャーをクリックしてみてください。「製品紹介ブロック(トップ)」を作成した際に設定した「AJAXを利用」の設定がそのまま引き継がれて適用されていればページャーにはすでにAJAXが実装されているはずです。

もし、設定が適用されていない場合は再度、設定を行います。「高度」をクリックして、「AJAXを利用」を「はい」に設定してください。

image alt text

ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。
CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。
Webシステムの企画・開発〜デザイン、クラウド運用までをワンストップで提供する他、Drupalのコーディングを評価する"Audit業務"や最適なモジュールの調査・選定等、幅広いコンサルティングを行っている。Drupalアソシエーション公式パートナー。
https://annai.co.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています