添加自定义主题建议后Drupal Views的Twig模板未被识别,求正确命名
修正方案
- 修复基础钩子名匹配错误
你当前使用的钩子是hook_theme_suggestions_views_view_fields_alter,对应模板的基础名是views_view_fields(复数,对应视图整组字段的输出包装模板),你当前用的单数views_view_field是单个字段的专属模板钩子,两者完全不匹配。 - 修正显示ID拼接格式
你的钩子生成主题建议的逻辑是基础钩子__视图ID__显示机器名,如果你的视图页面显示是默认创建的第一个页面,显示机器名默认为page_1,不需要额外拆分添加下划线。 - 最终正确模板命名
如果你的显示机器名确认为page_1,最终模板名应为:views_view_fields__my_view__page_1.html.twig
验证排查方法
你可以开启Drupal的Twig调试模式:打开sites/default/services.yml,将twig.config下的debug参数设为true,清除缓存后刷新页面,在页面HTML源码中可以直接看到当前视图区域所有可用的Twig模板建议列表,直接取用匹配的名称即可。
额外注意事项
- 你提供的钩子函数代码缺少结尾的闭合大括号
},请先补全代码后再进行测试,否则自定义主题建议的钩子本身不会生效 - 修改模板命名、调整钩子代码后都需要清除Drupal全部缓存才会生效
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

