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