1

从官方文档开始,我已经尝试了所有我发现的修改 views_view_field 的方法。我还为钩子 HOOK_theme(有和没有参数'path'、'base hook')和 HOOK_theme_registry_alter 尝试了多种方法和参数,但我仍然无法在我的模块中制作树枝来覆盖原始文件。

为了让事情变得更简单,我在没有任何自定义主题的情况下进行测试,在 /templates 下没有任何文件夹,并且我尝试修改的视图链接在管理页面内。树枝建议阐明了正在显示的树枝是“稳定”主题之一。

4

1 回答 1

2

主题中的模板优先于模块中的模板,因此您需要HOOK_theme_registry_alter强制 Drupal 从模块文件夹中获取模板。

/**
 * Implements hook_theme_registry_alter().
 */
function mymodule_theme_registry_alter(&$theme_registry) {
  // Replace the path to the registered template so that Drupal looks for
  // it in your module's templates folder.
  $theme_registry['views_view_field']['path'] = drupal_get_path('module', 'mymodule') . '/templates';
}

确保清除缓存以强制更新主题注册表。

于 2020-10-18T14:51:49.720 回答