首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主题建议模板未被拾取

问主题建议模板未被拾取
EN

Drupal用户
提问于 2021-01-13 19:47:41
回答 2查看 1.2K关注 0票数 5

我在折扣模块中添加了模板建议:

代码语言:javascript
复制
function discount_theme_suggestions_field_multiple_value_form_alter(array &$suggestions, array $variables) {
    if ($variables['element']['#field_name'] == 'user_discount'){
      $suggestions[] = 'field_user_discount';
      kint($suggestions);
    }
}

我可以在我的管理表格上看到模板建议:

不过,我在折扣模块模板文件夹中添加了模板字段-user-disCount.html.twig(我不把它放在这里,因为它只是具有更改顺序的高级模板的副本),而且它没有被拾取,它仍然拿起了经典的。我清除了所有的缓存,从钻孔和网站本身。我还试着将这个模板添加到主题模板中,它也没有被选中。来自主题模块和折扣模块的其他模板正在被收集起来。

德鲁巴怎么能捡起来?这是管理页面上的字段。

EN

回答 2

Drupal用户

回答已采纳

发布于 2021-01-15 23:30:08

在添加主题建议之后:

代码语言:javascript
复制
function discount_theme_suggestions_field_multiple_value_form_alter(array &$suggestions, array $variables) {
    if ($variables['element']['#field_name'] == 'user_discount'){
      $suggestions[] = 'field_user_discount';
    }
}

您需要在这个钩子中告诉Drupal,您应该通过实现钩子主题来选择我的模板,如下所示。

代码语言:javascript
复制
/**
 * Implements hook_theme().
 */
function MODULE_theme($existing, $type, $theme, $path) {
  return [
    'field_user_discount' => [
      'base hook' => 'field_multiple_value_form'
    ],
  ];
}

现在,只需将模板放入模板模块文件夹中,清除缓存,就可以选择它。

注:如果您想使用与建议的模板名称不同的名称(字段-用户折扣),则只需告诉field-user-discount-something.html.twig hook_theme模板的名称如下:

代码语言:javascript
复制
 /**
 * Implements hook_theme().
 */
function MODULE_theme($existing, $type, $theme, $path) {
  return [
    'field_user_discount' => [
      'base hook' => 'field_multiple_value_form',
      'template' => 'field-user-discount-something'
    ],
  ];
}
票数 4
EN

Drupal用户

发布于 2021-01-14 01:36:27

我添加了模板字段-user-disCount.html.twig.在折扣模块模板文件夹中

放错地方了。您需要将其放在您的主题中,而不是模块的模板文件夹中。

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

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

复制
相关文章

相似问题

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