Drupal会为我们提供2个隐藏区域,他们分别是page top和page bottom区域,之所以叫他们隐藏区域是因为你无法在区块布局页面看到它们,也不需要你在info文件中定义它们。
在html.thml.twig中输出,以下是stable主题的html.html.twig文件代码
<!DOCTYPE html> <html{{ html_attributes }}> <head> <head-placeholder token="{{ placeholder_token|raw }}"> <title>{{ head_title|safe_join(' | ') }}</title> <css-placeholder token="{{ placeholder_token|raw }}"> <js-placeholdertoken="{{ placeholder_token|raw }}"> </head> <body{{ attributes }}> {# <a href="#main-content" class="visually-hidden focusable"> {{ 'Skip to main content'|t }} </a> {{ page_top }} </body> </html> |
其中倒数第6和第4行的代码就是用于输出这两个隐藏区域。前面提到的管理工具条,即toolbar.html.twig就是从倒数第六行的page top区域中输出的。
如果,我们不在info文件中定义任何区域,那么Drupal会为我们提供10个默认区域。
它们分别是:
- page.header
- page.primary_menu
- page.secondary_menu
- page.highlighted
- page.help (dynamic help text, mostly for admin pages)
- page.content (main content of current page)
- page.sidebar_first
- page.sidebar_second
- page.footer
- page.breadcrumb
你还可以在page模板的注释中找到对于他们的说明。
如果在info文件中定义了自己的区域,那么默认的区域就不再起作用了,这同样也被视作覆写。同理,如果你的页面布局正好符合这10个默认的区域,那么你就不需要在你的info文件中对区域进行定义。
再强调一次:一旦你在自己的.info文件中定义了一个区域,就会覆写掉全部的默认区域。
如果你定义了自己的区域,你还需要用对应的代码将它输出到页面上,这个内容将在下一节讲述。目前,你只需要知道,page top和page bottom区域是在html.html.twig中输出的,而其他所有的区域都是在page.html.twig中输出的。