You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 9中如何在首页展示自定义主题的twig模板?

Drupal自定义主题首页展示内容解决方案

可直接通过UI操作实现,无需写代码,操作步骤如下:

  • 登录Drupal后台,进入「结构」-「区块布局」页面
  • 找到你当前启用的自定义主题对应的布局区域,选择首页要展示内容的位置(比如Content主内容区),点击「放置区块」
  • 选择新建「自定义内容区块」,在内容编辑框输入<div>testing</div>,文本格式选择「完整HTML」
  • 切换到「可见性」设置页,选择「仅在以下页面显示」,输入<front>,保存设置后清空全站缓存即可在首页看到内容

如果要使用你已有的自定义twig文件,可根据场景选择是否在my_theme.theme中编写代码:

  • 如果你的twig文件命名为page--front.html.twig,只需要把文件放到主题根目录的templates文件夹下,直接在twig内写入<div>testing</div>,清空缓存后就会自动作为首页模板生效,不需要额外编写函数
  • 如果你的twig用了自定义命名(比如custom-home.twig),需要在my_theme.theme中编写预处理钩子函数,代码示例如下:
<?php
/**
 * 实现 hook_preprocess_page() 页面预处理钩子
 */
function my_theme_preprocess_page(&$variables) {
  // 判断当前页面是否为首页
  if (\Drupal::service('path.matcher')->isFrontPage()) {
    // 给首页添加自定义模板建议,对应twig命名为 page--custom-home.html.twig
    $variables['theme_hook_suggestions'][] = 'page__custom_home';
    // 也可以直接传递变量到现有page模板,在模板里用 {{ custom_test_content }} 输出即可
    $variables['custom_test_content'] = ['#markup' => '<div>testing</div>'];
  }
}

注意事项:

每次修改.theme文件、twig模板文件后,都需要进入后台「配置」-「性能」页面清空所有缓存,修改才会生效

内容的提问来源于stack exchange,提问作者Ark13th

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:57:03