DrupalのViewsでノーコード一覧ページを作る方法
オウンドメディアやコーポレートサイトを運用するうえで、「新着記事一覧」「カテゴリ別記事一覧」「導入事例一覧」といった一覧ページの作成は避けて通れません。
WordPressで構築されたサイトでは、こうした一覧ページを追加するたびにテンプレートファイルの改修やプラグイン導入が必要となり、開発会社への依頼工数が積み上がっていくケースが少なくありません。
一方、DrupalにはViews(ビューズ)と呼ばれる標準機能が備わっており、コードを一切書かずに管理画面から一覧ページを設計・公開できます。
本記事では、WordPressからの乗り換えを検討している企業のWeb担当者や情シス部門、オウンドメディア運営者の方に向けて、DrupalのViewsがもたらす開発コスト削減効果と、その具体的な活用方法を解説します。
目次
WordPressでの一覧ページ作成における運用課題
WordPressで新しい一覧ページを追加する場合、以下のような手順が発生することが一般的です。
- カスタム投稿タイプやタクソノミーの設計
- テンプレートファイル(archive.phpやtaxonomy.phpなど)の作成・改修
- WP_Queryを用いた条件指定のコーディング
- ページネーションや絞り込みUIの実装
- 制作会社への依頼、見積もり、テスト、公開
一覧ページを1本追加するだけでも、要件定義から公開までに数週間かかる例もあり、都度発生する開発コストが運用負荷として蓄積していきます。
また、プラグインで機能を補うアプローチもありますが、プラグイン同士の依存関係やバージョンアップ時の互換性など、責任範囲が曖昧になりやすい設計項目が増える点にも注意が必要です。
DrupalのViewsとは何か
Views(ビューズ)は、Drupal 8以降コアに統合されたデータ表示モジュールです(Drupal 7以前はcontribモジュールとして別途導入する必要がありました)。データベースに登録されているコンテンツ(記事、事例、製品情報など)を、管理画面のUI操作だけで条件指定・並び替え・整形し、一覧ページやブロック、REST APIエンドポイントとして出力できます。
主なポイントは次のとおりです。
- コーディング不要:管理画面のフォーム操作で一覧を設計
- 表示形式が柔軟:テーブル、リスト(HTML List)、グリッド、RSSフィードなど、コア標準の複数フォーマットに対応(カードレイアウトなど独自デザインが必要な場合はテーマやモジュールの追加が必要です)
- 出力先が選べる:ページ、ブロック、REST APIエンドポイントとして書き出し可能
- フィルターやソート条件をUIで設定:カテゴリ、公開日、タグ、著者などを組み合わせ可能
WordPressにおけるWP_Queryやカスタムクエリの記述作業を、Drupalでは管理画面から標準化された手順で完結できる点が大きな違いです。
Viewsで一覧ページを作る基本的な流れ
Drupalの管理画面から「構造 > Views > 新しいビューを追加」と進むことで、一覧ページの作成を開始できます。以下は代表的な設定の順番です。
- 表示するコンテンツタイプを選択(例:記事、導入事例)
- 表示形式を選択(テーブル、グリッド、リストなど)
- 表示件数、ページネーションの有無を設定
- フィルター条件を追加(公開ステータス、カテゴリ、タグなど)
- ソート条件を追加(公開日降順、タイトル昇順など)
- URL(パス)を設定し、ページとして公開
上記の手順はいずれも管理画面のUIで完結し、コードエディタを開く必要はありません。設定内容はプレビューで即時確認でき、公開前に表示内容の検証を行えます。
開発コスト削減の具体的な観点
Viewsを活用することで、以下のような工数削減が期待できます。
新規一覧ページ追加時の工数削減
WordPressでは制作会社に依頼していた作業を、社内のWeb担当者だけで完結できます。プロジェクトの規模や要件にもよりますが、シンプルな一覧ページであれば数時間から1日程度で設定を完了できるケースがあります。
表示条件変更の内製化
「カテゴリで絞り込みたい」「最新10件から20件に変更したい」といった細かな仕様変更も、管理画面から実施可能です。都度発生していた修正依頼が減り、外部委託費を抑制できます。
役割分担の明確化
コンテンツ設計と表示設計を管理画面で標準化できるため、制作会社とサイト運営者の役割分担が整理しやすくなります。例えば、サイト管理者(Administrator)が権限設定を行うことで、コンテンツ編集者にはViewsの設定変更を許可しない、といった担当者ごとの操作範囲のコントロールも可能です。
実際の活用シーン
Viewsはさまざまなシーンで活用できます。代表的な例を以下に挙げます。
- オウンドメディアの記事一覧、カテゴリ別・タグ別一覧
- 導入事例ページの業種別・課題別絞り込み一覧
- 製品カタログの仕様別フィルター付き一覧
- ニュースリリースの年別アーカイブ
- 会員向けページの権限別コンテンツ一覧
いずれのケースでも、コンテンツを追加すればViewsで定義した条件に沿って自動的に一覧へ反映されるため、運用面でも管理が容易です。
導入時の注意点
Viewsは強力な機能ですが、導入前に整理しておくべきポイントがあります。
- コンテンツタイプやフィールドの設計を先に固めておくこと
- 権限設計(誰がViewsを編集できるか)をサイト管理者が定義すること
- 表示条件が複雑になる場合は、事前に要件を洗い出しておくこと
コンテンツ構造の設計が曖昧なままViewsを組むと、後から条件変更が必要になった際に調整が増えます。初期段階でのコンテンツ設計こそが、Viewsの効果を最大化する鍵となります。
よくある質問
Q. Viewsは追加モジュールですか?別途費用は発生しますか?
Drupal 8以降ではViewsはコア機能として標準搭載されており、追加のライセンス費用は発生しません。Drupal本体をインストールした時点で利用可能です(なお、Drupal 7以前ではcontribモジュールとして別途導入が必要でした)。
Q. Viewsで作った一覧ページは、後から表示条件を変更できますか?
可能です。管理画面から該当のViewsを開き、フィルター条件や表示件数、ソート順などをUI上で変更できます。変更内容はプレビューで確認したうえで反映できるため、運用中のサイトでも安全に調整可能です。
Q. WordPressから移行する場合、既存の一覧ページはそのまま再現できますか?
多くのケースで再現可能ですが、URLのパーマリンク構造やコンテンツの複雑さによっては追加設計が必要になる場合もあります。特にカスタムフィールドプラグイン(ACFなど)で構築された複雑なデータ構造や、ECプラグインと連携した一覧ページなどは、移行にあたって個別の検討が必要です。移行前に現状の一覧ページ要件を整理し、Drupal側のコンテンツ設計と照合しておくことで、手戻りの少ない移行が実現できます。
LYZONが提供するWebサービス
Webに関するお悩みは、まずLYZONへ
構築・運用・AIまで、Webに関わる課題をワンストップで対応。まず何ができるかをご覧ください。
2024年入社。Webエンジニア
DCGが趣味。