也许我有类似于这个Drupal 9.2模板_前处理_图像钩不起作用的问题。
当我把这些代码放在myTheme.theme中时
function HOOK_theme_suggestions_image_alter(array &$suggestions, array $variables)
{
$responsive_style = $variables['attributes']['data-responsive-image-style'];
$suggestions[] = 'image__'.$responsive_style;
}这个钩子可以很好地处理这个模块内嵌响应图像的内联图像,并返回['data-responsive-image-style']。
但是它不适用于常规的文章图像,它返回null。
当我调试$variables['attributes']时,它只有以下值
$variables[...] array (1)
property => array (1)
=> string (12) "schema:image"发布于 2021-12-24 11:17:19
我找到了解决办法。我从父小枝responsive_image_style_id调用
function hook_preprocess(&$variables, $hook) {
if ($hook == 'responsive_image') {
$GLOBALS['responsive_image_style_id'] = $variables['responsive_image_style_id'];
}
}
function hook_theme_suggestions_alter(array &$suggestions, array $variables, $hook) {
if ($hook == 'image') {
return $suggestions[] = 'image__'.$GLOBALS['responsive_image_style_id'];
}
}https://drupal.stackexchange.com/questions/308667
复制相似问题