ホームページの特定な場所に通知、説明、広告などを追加したいことがよくある。これらの内容は独立で、コンテンツとの関連性がないことが多い。
そのためコンテントタイプのフィールドで対応することができなく、Block、Boxes、Bean、Viewsなどのモジュールで対応できる。
これらのでモジュールの特徴、機能を認識、必要に応じで使い分ける必要がある。
ブロックに関して
- Drupalのページレイアウトでは、Page、Panel、Reagion、Blockなどの単位で構成される。
- Blockが一つ、または複数の内容を纏めて表示する基本単位となる。例:広告ブロック、ログインブロック、お知らせブロック、直近の関連記事一覧ブロックなど
- いろいろなブロックの中に、ページのコンテンツに関連性のあるもの(例:関連記事一覧など)があれば、独立でコンテンツとの関連性のないもの(例:広告、お知らせなど)もある。
- Drupal7ではコアモジュールにBlockが含まれているので、ある程度独立なブロックの作成、追加が可能である
Block、Boxes、Beanなどの特徴と機能
- モジュールBlock、Boxes、Bean、Viewsなどでブロックを作成することができる
- ページコンテンツと関連するブロック(例:コンテンツと関連記事一覧など)がViewsで関連記事をSQLで抽出し、ブロックにまとめる
- 独立なブロック(例:広告、お知らせ)がBlock、Boxes、Beanで作成することができる
- BoxesがブロックにCSS追加機能がある(システム内部名称,machine nameでCSSでブロックを定義する)
- Block、Boxesが一つフィールド(Body)に対して、Beanが複数のフィールド追加が可能
- Boxes、Beanに作成したブロックがBlockモジュールで表示場所を指定する
- Blockに作成したブロックが各コンテンツタイプにくっ付けることができる(各コンテンツと一緒に表示する)
- Beanがほかのモジュール(例:Bean Entity View、Bean Paneなど)豊富なプラグインがある
独立/単一な内容はBlock、複数のフィールド/高度な設定にはBoxes、Beanにする
- 結論でいると、広告、お知らせ、説明などの表示がBlockで十分
- より高度な表示設定、複数のフィールドが必要な時に、BeanとBoxesの導入が必要となる