Drupal7でContextを使ってViewブロックを指定するのと、pageテンプレートを分けてブロックページでViewブロックを表示する違い

Drupal7でContextを使ってViewブロックを指定するのと、pageテンプレートを分けてブロックページでViewブロックを表示する違いについて。

例えばフロントページのみに表示するViewブロックがあったとして、page–front.tpl.phpというテンプレートを作成し、そのテンプレートのみにその特定のViewブロックを置くためのリージョンを作成し、page.tpl.phpには作成しないことでフロントページのみにそのViewブロックを表示させることができる。

またこれはContextモジュールを使ってより簡単に実現することも可能。

2つの方法の違いは、前者は他のページを表示している時にも前者のViewブロックの変数が取得されている。(表示されないまでも)

後者はフロントページの表示の時のみ取得される。

View用のpreprocessファンクションを作成することで挙動がより詳しくわかる、

https://api.drupal.org/api/views/theme!theme.inc/function/template_preprocess_views_view/7.x-3.x