【问题标题】:Print Block Regions inside layout template (Drupal 8 template)在布局模板中打印块区域(Drupal 8 模板)
【发布时间】:2018-04-04 06:28:35
【问题描述】:

我想在布局文件中打印一个块区域。但是布局模板无权访问 'page' 变量。所以我不能这样做:

{{ page.regionname }} 

是否有任何代码可以打印块区域? Oooor 如何在我的一种布局中获取 page 变量?布局和模板文件在我的 yml 文件中定义如下:

services_overview:
  label: services - Overview
  category: ssld Layouts
  template: templates/layouts/ssld-hs-overview
  regions:
    sidebar_left:
      label: Sidebar Left
    right:
      label: Right
    left:
      label: Left
    middle:
      label: Middle

(值得一提的是,我对 twig 不太熟悉。这是我第一次使用 Drupal 8)

【问题讨论】:

    标签: templates twig drupal-8


    【解决方案1】:

    您可以将 page.html.twig 文件中的区域打印为{{page.sidebar_left}}。你的 your_theme.info.yml 文件应该是这样的

    name: Bartik
    type: theme
    base theme: classy
    description: 'A flexible, recolorable theme with many regions and a responsive, mobile-first layout.'
    package: Core
    version: VERSION
    core: 8.x
    libraries:
      - bartik/global-styling
    regions:
      sidebar_left: 'Sidebar Left'
      right: 'Right'
      left: Left
      content: Content
      middle: 'Middle'
    

    以上是来自 bartik 主题信息文件的示例。 A.F.A.I.K 内容区域是强制性的

    【讨论】:

    • 我知道我可以访问 page.html..twig 中的 page 变量。但这不起作用,因为此内容需要位于布局内的特定位置。并且布局文件由于某种原因无权访问页面
    • 您需要在哪个文件中让区域变量提供更多详细信息
    • templates/layouts/ssld-hs-overview.html.twig * @file * 三列布局的默认主题实现。 * * 此模板提供三列 40%-20%-40% 显示布局。 * * 可用变量: * - 内容:此布局的内容。 * - 属性:布局
      . 的 HTML 属性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多