drupal7 blockでサイト構築しよう@drupal cafe
TRANSCRIPT
![Page 1: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/1.jpg)
$this->company = “ KDDI ウェブコミュニケーションズ ”
$this->name = “ 阿部 正幸 ”
{ We ♥︎ Drupal }
Drupal Cafe UMEDA
![Page 2: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/2.jpg)
● ACE01 / SmartRelease プロダクトマネージャー● CPI エバンジェリスト 統括● KDDI ウェブ 公認 CPI スタッフブログ 編集長● Drupal(g.d.o Japan) 日本コミュニティー● 日本ディレクション協会 講演部● HTML5 Fun 理事
OSS を広げる活動、 Web 制作に関する情報発信を行う
神戸生まれ、横浜育ち、 7 月 31 日生まれ
阿部 正幸(あべ まさゆき)
ディレクタープログラマー プ ロ マ ネ Evangelist
![Page 3: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/3.jpg)
![Page 4: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/4.jpg)
私の構築スタイル
『 BLOCK 』で構築
- 当日話した内容 –
Drupal の構築は様々な手法があります。昨今は Panels を使い構築することが多いですが、 Block を使い構築する方法も根強い人気です。
![Page 5: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/5.jpg)
- 当日話した内容 –
Block ごとにパーツを作成し、各ページにブロックを配置しページを作成していきます。
![Page 6: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/6.jpg)
BLOCK の作り方
![Page 7: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/7.jpg)
Views から BLOCK を生成- Views に取り込めたら勝ち -
- 当日話した内容 –
Views という最も有名なモジュールを使い、 Block を生成します。Views を使った例をいくつか紹介します。
![Page 8: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/8.jpg)
Views ( 使用例 )
登録件数付きのタグ一覧
![Page 9: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/9.jpg)
Step .1
Create a taxonomy view
Step .2
Add term group in relationship
![Page 10: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/10.jpg)
Step .3
Add term name , content nid filds for display
![Page 11: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/11.jpg)
Step .4
Use aggregation: Yes
![Page 12: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/12.jpg)
Step .5
Aggregation type : Count DISTINCT
![Page 13: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/13.jpg)
Views ( 使用例 )
ユーザー情報ページにユーザーが投稿記事を出力
![Page 14: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/14.jpg)
Step .1
Create a node view
Step .2
Add コンテンツ投稿者 in relationship
![Page 15: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/15.jpg)
Step .3
Contextual filter : ユーザー ID 追加
![Page 16: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/16.jpg)
Step .3
パス設定 : my_url/%
![Page 17: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/17.jpg)
;;;;;;;;;;;;;;;;;;;;;;; Regions;;;;;;;;;;;;;;;;;;;;;regions[content] = 'Content'regions[sidebar1] = 'Sidebar1'regions[sidebar2] = 'Sidebar2'
.info ファイルに追記
- 当日話した内容 –
Views を使いブロックを生成し、ブロック領域を作成します。ブロック領域の登録はテーマ内の、 .info ファイルに記述します。
![Page 18: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/18.jpg)
![Page 19: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/19.jpg)
ブロックに要素を追加する
![Page 20: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/20.jpg)
// template.php ファイル
function bootstrap_preprocess_html(&$variables){}
function bootstrap_preprocess_page( &$variables ) { // ブロック追加 // $variables['sidebar1'] = block_get_blocks_by_region('sidebar1');}
function bootstrap_preprocess_node( &$variables ) {}
// page.tpl.php ファイル
print render($sidebar1);
![Page 21: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/21.jpg)
- 当日話した内容 –
ブロックを CMS から登録したあとに、テーマに反映します。反映は『 THEMENAME_preprocess_xxxx 』を使い、ブロックを読み込みます。
例)$variables['sidebar1'] = block_get_blocks_by_region('sidebar1');
Sidebar1 ブロックに登録されたコンテンツを、変数: sidevar1 にセットしています。
テンプレート側では「 print render($sidebar1); 」の用に出力を行います。
![Page 22: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/22.jpg)
![Page 23: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/23.jpg)
- 当日話した内容 –
テーマ落とし込みは、 Views 画面を開き、 Advanced >> Theme: information より、使っているテンプレートや、コードが確認できます。
細かい HTML 出力の設定が可能です。
![Page 24: Drupal7 Blockでサイト構築しよう@Drupal cafe](https://reader034.vdocuments.site/reader034/viewer/2022042821/55d25df6bb61ebb9698b4792/html5/thumbnails/24.jpg)
ありがとうございました
ID : chiyo.abe阿部 正幸
cpi-line