我在折扣模块中添加了模板建议:
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(我不把它放在这里,因为它只是具有更改顺序的高级模板的副本),而且它没有被拾取,它仍然拿起了经典的。我清除了所有的缓存,从钻孔和网站本身。我还试着将这个模板添加到主题模板中,它也没有被选中。来自主题模块和折扣模块的其他模板正在被收集起来。
德鲁巴怎么能捡起来?这是管理页面上的字段。
发布于 2021-01-15 23:30:08
在添加主题建议之后:
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,您应该通过实现钩子主题来选择我的模板,如下所示。
/**
* 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模板的名称如下:
/**
* 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'
],
];
}发布于 2021-01-14 01:36:27
我添加了模板字段-user-disCount.html.twig.在折扣模块模板文件夹中
放错地方了。您需要将其放在您的主题中,而不是模块的模板文件夹中。
https://drupal.stackexchange.com/questions/299429
复制相似问题