logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

テーマへのリージョンの追加

03/05/2020, by maria

テーマにリージョンを追加するには、次のことが必要です:

  • THEMENAME.info.ymlファイルへのリージョンメタデータの追加。
  • page.html.twigファイルの編集と新しいリージョンの出力。

 

:テーマでリージョンを宣言すると、1つだけでも、デフォルトのリージョンはすべて適用されなくなり、使用するすべての領域を宣言する責任があります。

定義しなかったため存在しなくなったリージョンにあったブロックは、無効になります。特にTHEMENAME.info.ymlを編集してdrush crでキャッシュを再構築すると、それぞれについて次のようなメッセージが表示されます:

ブロックthemename_breadcrumbsが無効なリージョンbreadcrumbに割り当てられたため、無効になりました。

/admin/structure/blockに移動すると、無効になったすべてのブロックが(無効)インジケーター付きで最上部の領域にリストされます。それらをドラッグするか、「リージョン」ドロップダウンを使用して再割り当てするか、不要になったブロックを削除できます。

page_topとpage_bottomリージョンが保持されていることを確認してください。これらは、アナリティクスや管理者ツールバーなど、ページの最上部と最下部のマークアップに使用される「非表示」領域です。THEMENAME.info.ymlファイルにそれらをリストする必要はありませんが、html.html.twigテンプレートから削除しないでください。モジュールがそれらの存在に依存する場合があります。

情報ファイルへのリージョンの追加

まず、THEMENAME.info.ymlファイルで新しいリージョンを宣言します。リージョンは次のようにregionsキーの子として宣言されます:

regions:
  header: 'Header'
  content: 'Content'
  footer: 'Footer'

リージョンキーは英数字である必要があり、アンダースコア(_)を含めることができます。キーは文字で始まる必要があります。キーはマシン名(コードで使用するもの)で、値は管理者インターフェースに表示される人間が読めるバージョンです。

テンプレートへのリージョンの追加

リージョンがそこに配置されたコンテンツを表示するには、新しいリージョンがpage.html.twigファイルにも追加されていることを確認する必要があります。リージョンは、THEMENAME.info.ymlファイルで使用されているキーにpage.文字列を付けた名前のTwig変数として表されます。

例:

header: 'Header' 

...は次のようになります:

{{ page.header }} 

これらは他のTwig変数と同じように動作し、ユースケースに適した任意のマークアップでラップできます。

(非表示領域のデフォルト構文は異なります。下記を参照してください。)

デフォルトのリージョン

デフォルトのリージョンのリストについては、page.html.twigドキュメントを参照してください。

  • page.header
  • page.primary_menu
  • page.secondary_menu
  • page.highlighted
  • page.help(動的なヘルプテキスト。主に管理ページ用)
  • page.content(現在のページのメインコンテンツ)
  • page.sidebar_first
  • page.sidebar_second
  • page.footer
  • page.breadcrumb

テーマがリージョンを宣言しない場合、Drupalはこのデフォルトのセットを使用します。

これらの領域は、デフォルトのcore/modules/system/templates/page.html.twigファイルが期待するものに対応し、page_topとpage_bottomの2つの非表示領域にも対応します。デフォルトをオーバーライドする場合、これら最後の2つを宣言する必要はありませんが、Twig変数{{page_top}}と{{page_bottom}}はhtml.html.twigテンプレートに保持する必要があります。