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

Drupal 9中自定义主题的Views RSS模板无法生效的解决咨询

解决Drupal 9自定义主题中views-view-row-rss模板不加载的问题
  • 确认模板命名与优先级调整
    首先检查模板文件名是否完全匹配views-view-row-rss.html.twig(Linux环境下区分大小写)。由于views_rss模块自带模板优先级可能更高,可通过主题钩子建议提升自定义模板权重:
    在主题的CUSTOM_theme.theme文件中添加:

    function CUSTOM_theme_theme_suggestions_views_view_row_alter(array &$suggestions, array $variables) {
      $suggestions[] = 'views_view_row_rss__custom';
    }
    

    然后将自定义模板重命名为views-view-row-rss--custom.html.twig,该命名的模板优先级会高于模块自带版本。

  • 清除缓存并开启模板调试
    修改模板或.theme文件后必须清除Drupal缓存,可使用Drush命令drush cr,或后台「配置→性能」页面手动清除。
    开启模板调试验证加载情况:编辑sites/default/services.yml,添加/修改配置:

    parameters:
      twig.config:
        debug: true
    

    开启后,页面源代码会注释当前加载的模板路径及所有候选模板,便于排查优先级问题。

  • 直接修改主题注册表权重
    若上述方法无效,可在theme_registry_alter中强制调整模板优先级:

    function CUSTOM_theme_registry_alter(&$theme_registry) {
      if (isset($theme_registry['views_view_row_rss'])) {
        // 将主题模板路径放到候选列表最前端
        $custom_template_path = drupal_get_path('theme', 'CUSTOM_theme') . '/templates/views-view-row-rss.html.twig';
        array_unshift($theme_registry['views_view_row_rss']['template_files'], $custom_template_path);
        // 设置更低的权重值(数值越小优先级越高)
        $theme_registry['views_view_row_rss']['weight'] = -10;
      }
    }
    

    替换CUSTOM_theme为你的实际主题名称,修改后务必清除缓存。

  • 检查基础启用条件

    • 确认自定义主题已启用并设置为当前使用的主题;
    • 确认views_rss模块处于启用状态;
    • 检查对应视图的行样式是否选择了「RSS item」,只有该样式才会调用views_view_row_rss模板。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:45:45