viewsがわかるとdrupalがわかる! vol.1
DESCRIPTION
OSSユーザーのための勉強会 <OSS X Users Meeting> 国立情報学研究所(NII) http://eventregist.com/e/ossx2014-11 http://www.scsk.jp/product/oss/report.html#benkyoTRANSCRIPT
![Page 1: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/1.jpg)
ViewsがわかるとDrupalがわかる!
Vol.1 ANNAI LLC 紀野 惠
![Page 2: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/2.jpg)
目次 Drupal コンテンツ管理の発想
Viewsの役割
Viewsの4W2H
なにを? が操作のキモ いろいろなフィルターについて デモ (Contexual filter , Relationのさわり部分)
![Page 3: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/3.jpg)
データを統一して扱う。どういう意味?
Drupalの発想
![Page 4: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/4.jpg)
例えばフォーラム機能
WordpressのフォーラムプラグインbbPress
元々WPとは別の単体アプリケーション。
アカウントなどを連結している。
![Page 5: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/5.jpg)
Drupalの発想
フォーラム、SNS、E-CommerceもDrupalコンテンツ
CMS自体を作るフレームワーク
![Page 6: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/6.jpg)
コンテンツ作成 保存
加工・表示 が大枠の流れ
Drupalは保存時に加工しないのも特徴
CMSコンテンツのフロー
![Page 7: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/7.jpg)
Viewsはコンテンツの 『加工/表示 = 再利用』に関するモジュール
Viewsの役割
![Page 8: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/8.jpg)
基本的にはリストを作るモジュール(一件だけの表示もOK)
![Page 9: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/9.jpg)
Drupal内のコンテンツ・データをすべて扱う事ができる。
![Page 10: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/10.jpg)
テキスト・コンテンツ(Node, Entity) 画像などさまざまなファイル ユーザー情報 コメント カテゴリー情報 取り込んだ外部ソース・DB
Viewsが扱えるデータ
![Page 11: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/11.jpg)
データの取り出し(SQL)だけでなく表示部分まで担当する
![Page 12: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/12.jpg)
普通ならSQLやPHPでのプログラミングを駆使して実現する機能。
これら全て管理画面からGUIで操作
MySQLの知識なくてもOK
![Page 13: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/13.jpg)
管理画面
![Page 14: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/14.jpg)
なにを並べるのか? [what]
どのような形式と見た目で? [how ]
どれだけ? [how many]
どんな順番で? [in which order]
どこに表示する? [where]
誰に見せる? [who]
Viewsの4W2H
![Page 15: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/15.jpg)
後述しますが、基本、並べる内容を選択しフィルターすると考えてください。
SQLでいうと、
SELECT, FROM , WHERE句
なにを? [What]
![Page 16: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/16.jpg)
Limit 並べる数を決めるPager 複数ページに分けて表示
どれだけ? [How many]
![Page 17: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/17.jpg)
ソート 日付順、更新順など
どんな順番で? [In what order]
![Page 18: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/18.jpg)
フォーマット
テーブル
スライドショー
グリッド
カレンダー
!
!
CSV
XML
JSON
etc.
どのような形式と見た目で? [How]
![Page 19: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/19.jpg)
Page Pathを指定
Menu に表示させる。
Attachment(Viewsのリストを複数接続)
どこに表示する? [Where ,When]
![Page 20: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/20.jpg)
Access:権限
誰に見せる? [Who]
![Page 21: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/21.jpg)
裏側ではSQLが動いているが、意識せずに使える。
SQLが分かる人は、SQLを表示させると挙動の理解が早い。 まずはどんどん触って試してください。
「なにを?」を自在に扱えると Viewsが好きになる。
![Page 22: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/22.jpg)
基本のコンテンツの種類を選ぶ(固定)
フィールド(項目) or ノード
静的なフィルター
表示画面での手動のフィルター(絞り込み) 閲覧時の文脈による動的なフィルター
リレーション(別種類のコンテンツから情報を取り込む)
こんな手順で考えるとわかりやすい
難度高
![Page 23: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/23.jpg)
閲覧時の文脈による動的なフィルター Contexaual Filter フィルタの条件を送る方法は複数
URL 固定値
ログインユーザー
ちょっと理解が難しいところ
![Page 24: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/24.jpg)
リレーション ( JOIN)(別種類のコンテンツから情報を取り込む) あらかじめ、コンテンツ間の参照を作っておく
References モジュール
Entity Reference モジュールなど
ちょっと理解が難しいところ
![Page 25: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/25.jpg)
とりあえずAdvanced Helpモジュール https://drupal.org/project/advanced_help
![Page 26: ViewsがわかるとDrupalがわかる! Vol.1](https://reader034.vdocuments.site/reader034/viewer/2022051016/559cec951a28ab18708b47bf/html5/thumbnails/26.jpg)
Demo