SlideShare a Scribd company logo
一歩進んだ Views の使い方
スタジオ・ウミ 山中
● Drupal 歴5年
● 最近はテーマ作成などフロントエンド中心
● モジュール作成したり顧客対応したりDrupalの保守したりもします
● 趣味はアニメを見たりゲームをしたり
ライブに行ったり楽器(クラリネット)を吹くこと
自己紹介- 山中 麻千子 🍵
2
自己紹介- スタジオ・ウミについて
● Drupal での開発経験は10年以上
● ディレクション、要件定義、デザイン、開発、
保守運用、Drupal導入サポート等
● Web サイト: https://www.studio-umi.jp/
● Drupal Dawn: https://drupaldawn.jp/
○ 国内の Drupal サイトを集めたギャラリーサイト
3
このセッションの
対象者
● Views をちょっとだけ
さわったことがある方
● コードをほとんど書かずに
Drupal で機能を構築したい方
● Drupal の凄さを知りたい方
4
Views とは?
● コンテンツの一覧などを作成できる機能を提供するモジュール
● SQL の組み立てから表示までコードを一切書かずに行うことができる
● Drupal 8からコアに取り込まれた
● ほぼすべての Drupal サイトで使われる、Drupalの根幹となるモジュール
5
● ただ単純に一覧をつくるためだけのモジュールではない
● SQL の組み立てから表示までを行う
= 様々な条件に応じたコンテンツを表示することができる
● 一歩進んだ Views の使い方をご紹介します!
○ フィルター / リレーションシップ / コンテクスチュアルフィルター
○ コントリビュートモジュールの追加で Views を拡張
● Drupal 8 ・ブロックの使い方がある程度知っていることを前提
Views は一覧を作るためのモジュール?
6
Views だけでできること
\ 一歩進んだ /
弊社ブログを実験台に
デモをしながら3つご説明します
7
● フィルターの条件を使用
● 検索フォームの項目として使いたい条件の設定で下記項目にチェック
このフィルターを訪問者へ表示し、変更できるようにする
● ちなみに、外部設置フォームをブロックで提供で
「はい」を選択すると検索フォームがブロックとして
使用可能
一覧ページに簡易的な検索フォームを追加
8
一覧ページに詳しい投稿者情報を表示
● リレーションシップを使用
● コンテンツカテゴリーの
コンテンツの投稿者 を追加
● 追加したいユーザーの情報を
フィールドから追加
( ユーザーカテゴリーで絞り込むとちょっと
探しやすくなります)
9
● コンテクスチュアルフィルターを使用
● コンテンツ カテゴリーの ID を追加し、
フィルター値が利用可能でない時の
デフォルトの値を指定 にチェックを入れタイプ を
URL から取得したコンテンツ ID に設定
今見ているページ*1
の情報を別ブロックに表示
*1
Node で作成されたページに限ります
10
● CSV / JSON への書き出し
● スライドショー
● ポップアップフォトギャラリー
● Google Map との連携
※ 別途 Google Map API キーの登録が必要
以上の4つをご紹介
モジュールの
追加で
Views を拡張
\ さらに Views を活用 /
11
CSV / JSON への書き出し
● CSV Serialization をインストール
○ コアモジュールの Serialization, RESTful Web Services も必要
● Views 作成時に REST エクスポート設定 が追加されるので選択
○ 既存の ビューに設定する場合は フォーマットにシリアライザー が追加されるので選択
● フォーマット シリアライザーの設定で CSV か JSON を選択
● その他追加したいフィールドを追加
12
● Slick Carousel, Blazy*3
, Slick views をそれぞれインストール
● モジュールに必要なライブラリを追加
○ Drupal ルートディレクトリ上に libraries ディレクトリを作成して追加
○ 詳しい追加方法は README ファイル を確認
● Views のフォーマットに
Slick Carousel が追加されるので選択
● その他スライドショーに関する設定を行う
スライドショー
*3
2018年11月現在では Drupal のセキュリティアドバイザリーポリシーの対象外のモジュールとなっているため、
セキュリティ面について十分にご考慮いただいた上でご利用ください。
13
ポップアップフォトギャラリー
● Colorbox をインストール
● モジュールに必要なライブラリを追加
○ drush が有効であれば drush で追加可能
○ 詳しい追加方法は README ファイル を確認
● Views の設定で対象の画像フィールドの
フォーマッターで Colorbox を選択
● サムネイル画像やグルーピングなどを設定
$ drush colorbox-plugin
14
Google Map との連携
● Geofield と Geofield Map*4
をインストール
○ Geofield モジュールは geoPHP ライブラリが必要なので Composer を使ってダウンロード
● Google Map API Key*5
を設定
● 地図のコンテンツタイプにフィールド Geofield を追加
○ フォームの表示設定でウィジェットを Geofield Map に設定
● Views でフィールドに作成した Geofield を追加後、フォーマットに
Geofield Google Map を選択して、マップに好きな設定をする。
$ composer require 'drupal/geofield’
*4
2018年11月現在では Drupal のセキュリティアドバイザリーポリシーの対象外のモジュールとなっているため、
セキュリティ面について十分にご考慮いただいた上でご利用ください。
*5
環境設定 » システム » Geofield Map settings のページの Gmap API Key で設定可能です。 Google Map API は別途取得ください。 15
このセッションで紹介した Views の使い方
全部プログラムコードを書いてません✌
(一部コンソールでの作業は必要ですが)
Views を使いこなせれば
できることが広がります!
16
\ ご清聴ありがとうございました /

More Related Content

What's hot

Xamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたXamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみた
m ishizaki
 
Get to Know AtoM's Codebase
Get to Know AtoM's CodebaseGet to Know AtoM's Codebase
Get to Know AtoM's Codebase
Artefactual Systems - AtoM
 
Linux directory structure by jitu mistry
Linux directory structure by jitu mistryLinux directory structure by jitu mistry
Linux directory structure by jitu mistry
JITU MISTRY
 
Android - ADB
Android - ADBAndroid - ADB
Android - ADB
Yossi Gruner
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
Sage Weil
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
Emertxe Information Technologies Pvt Ltd
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
Knoldus Inc.
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
 
Summer of Fuzz: macOS
Summer of Fuzz: macOSSummer of Fuzz: macOS
Summer of Fuzz: macOS
Jeremy Brown
 
Windows deployment on bare metal using ironic
Windows deployment on bare metal using ironicWindows deployment on bare metal using ironic
Windows deployment on bare metal using ironic
Srinivasa Acharya
 
Instrucciones assembler
Instrucciones assemblerInstrucciones assembler
Instrucciones assemblermeliand17
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
Juraj Hantak
 
Linux process management
Linux process managementLinux process management
Linux process managementRaghu nath
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
Opersys inc.
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法博文 斉藤
 
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
樽八 仲川
 
Elixirと他言語の比較的紹介 ver.2
Elixirと他言語の比較的紹介ver.2Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介 ver.2
Tsunenori Oohara
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
pyar6329
 
Searching in AtoM
Searching in AtoMSearching in AtoM
Searching in AtoM
Artefactual Systems - AtoM
 

What's hot (20)

Xamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたXamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみた
 
Get to Know AtoM's Codebase
Get to Know AtoM's CodebaseGet to Know AtoM's Codebase
Get to Know AtoM's Codebase
 
Linux directory structure by jitu mistry
Linux directory structure by jitu mistryLinux directory structure by jitu mistry
Linux directory structure by jitu mistry
 
Android - ADB
Android - ADBAndroid - ADB
Android - ADB
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
 
Summer of Fuzz: macOS
Summer of Fuzz: macOSSummer of Fuzz: macOS
Summer of Fuzz: macOS
 
Windows deployment on bare metal using ironic
Windows deployment on bare metal using ironicWindows deployment on bare metal using ironic
Windows deployment on bare metal using ironic
 
Instrucciones assembler
Instrucciones assemblerInstrucciones assembler
Instrucciones assembler
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
 
Linux process management
Linux process managementLinux process management
Linux process management
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
 
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
 
Elixirと他言語の比較的紹介 ver.2
Elixirと他言語の比較的紹介ver.2Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介 ver.2
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
 
Searching in AtoM
Searching in AtoMSearching in AtoM
Searching in AtoM
 
Init of Android
Init of AndroidInit of Android
Init of Android
 

Similar to 一歩進んだ Views の使い方

Webform の活用
Webform の活用Webform の活用
Webform の活用
matcha_dev
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
GuildWorks
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
増田 亨
 
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮) 「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮)
Taku Yajima
 
DrupalとMySQL
DrupalとMySQLDrupalとMySQL
DrupalとMySQL
yoyamasaki
 
sukusuku-scrum introduction
sukusuku-scrum introductionsukusuku-scrum introduction
sukusuku-scrum introductionNao Yamamoto
 
Modeling Workshop
Modeling WorkshopModeling Workshop
Modeling Workshop
You&I
 
ディストリビューションを読む!ダイジェスト版
ディストリビューションを読む!ダイジェスト版ディストリビューションを読む!ダイジェスト版
ディストリビューションを読む!ダイジェスト版
Tomotsugu Kaneko
 
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App PlatformWhat's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
惠 紀野
 
WP-CFMではじめるWordPress構成管理
WP-CFMではじめるWordPress構成管理WP-CFMではじめるWordPress構成管理
WP-CFMではじめるWordPress構成管理
Tomotsugu Kaneko
 
Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630
Yasushi Osonoi
 
20180710 techplay
20180710 techplay20180710 techplay
20180710 techplay
yucoss
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
 
ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表
shingo suzuki
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
ume3_
 
確認・検討にちょっと役立つプラグイン
確認・検討にちょっと役立つプラグイン確認・検討にちょっと役立つプラグイン
確認・検討にちょっと役立つプラグイン
Kawaji Masaki
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
You&I
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
 
デザイナー・コーダーのための黒い画面入門 先生:和田 修一
デザイナー・コーダーのための黒い画面入門 先生:和田 修一デザイナー・コーダーのための黒い画面入門 先生:和田 修一
デザイナー・コーダーのための黒い画面入門 先生:和田 修一
schoowebcampus
 
デザイナー・コーダーのための黒い画面入門
デザイナー・コーダーのための黒い画面入門デザイナー・コーダーのための黒い画面入門
デザイナー・コーダーのための黒い画面入門
webcampusschoo
 

Similar to 一歩進んだ Views の使い方 (20)

Webform の活用
Webform の活用Webform の活用
Webform の活用
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮) 「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮)
 
DrupalとMySQL
DrupalとMySQLDrupalとMySQL
DrupalとMySQL
 
sukusuku-scrum introduction
sukusuku-scrum introductionsukusuku-scrum introduction
sukusuku-scrum introduction
 
Modeling Workshop
Modeling WorkshopModeling Workshop
Modeling Workshop
 
ディストリビューションを読む!ダイジェスト版
ディストリビューションを読む!ダイジェスト版ディストリビューションを読む!ダイジェスト版
ディストリビューションを読む!ダイジェスト版
 
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App PlatformWhat's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
 
WP-CFMではじめるWordPress構成管理
WP-CFMではじめるWordPress構成管理WP-CFMではじめるWordPress構成管理
WP-CFMではじめるWordPress構成管理
 
Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630
 
20180710 techplay
20180710 techplay20180710 techplay
20180710 techplay
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
 
ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
確認・検討にちょっと役立つプラグイン
確認・検討にちょっと役立つプラグイン確認・検討にちょっと役立つプラグイン
確認・検討にちょっと役立つプラグイン
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
デザイナー・コーダーのための黒い画面入門 先生:和田 修一
デザイナー・コーダーのための黒い画面入門 先生:和田 修一デザイナー・コーダーのための黒い画面入門 先生:和田 修一
デザイナー・コーダーのための黒い画面入門 先生:和田 修一
 
デザイナー・コーダーのための黒い画面入門
デザイナー・コーダーのための黒い画面入門デザイナー・コーダーのための黒い画面入門
デザイナー・コーダーのための黒い画面入門
 

一歩進んだ Views の使い方