我有一个自定义字段field_platform (引用自定义段落类型platform)和我的字段的模板:field--field-platform.html.twig。是否有一种方法可以覆盖引用段落类型的特定显示模式?对于要覆盖字段模板的自定义段落类型platform,我有一个名为D4的模式。
我找到了显示模式的字段模板,但是模板建议是内容的显示模式,而不是引用的段落。
Drupal 8.5.6,第8.x-1.3段
提前感谢!
发布于 2018-08-07 23:23:21
实现hook_theme_suggestions_alter,就像在另一个答案中一样,您可以在$variables中找到所需的一切。
下面的片段将为所引用段落的视图模式添加模板建议。请注意,只要只使用一个段落类型或所有多个段落类型都配置了相同的视图模式,这可能是有意义的。
/**
* Implements hook_theme_suggestions_HOOK_alter().
*/
function MYMODULE_theme_suggestions_field_alter(array &$suggestions, array $variables) {
$element = $variables['element'];
if ($element['#field_type'] == 'entity_reference_revisions') {
foreach ($element as $key => $value) {
if (is_numeric($key) && isset($value['#paragraph'])) {
$paragraph = $value;
$suggestions[] = 'field__' . $element['#field_name'] . '__paragraph__' . $paragraph['#view_mode'];
}
};
}
}似乎您也可以从主题的*.theme文件中实现这一点。
我想相同的逻辑适用于任何实体(节点等)。也是参考资料。
https://drupal.stackexchange.com/questions/267145
复制相似问题