6.7. Drupal でのリージョンとブロックの操作
ブロックを表示できる新しいリージョンを持つには、次のことが必要です:
- theme.info.yml ファイルにリージョン情報を追加する
- page.html.twig を編集し、新しいリージョンの出力を追加する
drupalbook.info.yml ファイルにリージョンデータを追加する
すべてのリージョンは regions キーで統合されます:
# Regions
regions:
header: 'Header'
content: 'Content'
footer: 'Footer'
リージョンのマシン名は、PHP 変数と同様に、文字と数字で構成し、アンダースコアを使えます。読みやすい名前は、引用符で囲んでも、スペースがなければ囲まなくても指定できますが、常に同じように引用符で囲むほうが良いです。リージョンの読みやすい名前は管理パネルに表示され、マシン名は page.html.twig テンプレートで使われます。
page.html.twig にリージョン出力を追加する
すべてのリージョン出力は page 変数にあります。目的のリージョンを表示するには、page 変数の一部を表示する必要があります。出力にはリージョンのマシン名を使います。例えば、header リージョンがあります:
header: 'Header'
したがって、マシン名 header を使います:
{{ page.header }}
theme.info.yml ファイルの任意のリージョンを、page.html.twig テンプレートのどこにでも出力できます。
Drupal の標準リージョン
いつでも公式ドキュメントを参照できます:page.html.twig
page.header:サイトのヘッダーを表示する。
page.primary_menu:サイトのメインメニューを表示する。
page.secondary_menu:追加メニューを表示する。
page.highlighted:コンテンツの上に情報を表示する。
page.help:ヘルプを表示する。
page.content:サイトコンテンツを表示するための必須リージョン。
page.sidebar_first:最初のサイドバー。
page.sidebar_second:2 番目のサイドバー。
page.footer:サイトのフッター。
page.breadcrumb:サイトのパンくず。
Drupal の標準リージョンを使うことも、独自のものを追加することもできます。最も重要なのは、リージョンの名前が page.html.twig でのその場所と一致していることを確認することです。