首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注释字段的模块模板不会触发comment_preprocess_field

注释字段的模块模板不会触发comment_preprocess_field
EN

Drupal用户
提问于 2023-03-07 19:22:47
回答 1查看 23关注 0票数 1

我有一个自定义模块,在Drupal9.3中,我试图覆盖注释字段的模板。

在我的模块文件中,我定义了hook_theme来覆盖正在使用的核心模板。(comment.html.twig),它可以工作,但不会触发comment.module中的comment_preprocess_field钩子,然后将注释变量分配给模板。

我的模块文件hook_theme是:

代码语言:javascript
复制
function MODULE_theme() {
  return [
    'field__field_FIELD_NAME' => [
      'base_hook' => 'field',
    ]
  ];
}

这是可行的,并且显示了我的自定义模板,但是它缺少了从comment_preprocess_field传递的注释变量。

如果我将模板放置在我的主题中,comment_preprocess_field钩子就会运行,变量将被添加到模板中,而不是当从自定义模块完成时。

有人知道如何在模块中重写注释字段模板时让钩子comment_preprocess_field运行吗?

EN

回答 1

Drupal用户

回答已采纳

发布于 2023-03-07 22:18:22

使用base hook,而不是base_hook (没有下划线):

代码语言:javascript
复制
function MODULE_theme() {
  return [
    'field__field_FIELD_NAME' => [
      'base hook' => 'field',
    ]
  ];
}

它应该像平常一样调用预处理。在进行更改后,您需要重新构建缓存。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/314987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档