首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hook_theme_suggestions_image_alter()不返回[‘数据响应-图像样式’]

hook_theme_suggestions_image_alter()不返回[‘数据响应-图像样式’]
EN

Drupal用户
提问于 2021-12-10 10:21:26
回答 1查看 153关注 0票数 0

也许我有类似于这个Drupal 9.2模板_前处理_图像钩不起作用的问题。

当我把这些代码放在myTheme.theme中时

代码语言:javascript
复制
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']时,它只有以下值

代码语言:javascript
复制
$variables[...] array (1)
  property => array (1)
    => string (12) "schema:image"
EN

回答 1

Drupal用户

发布于 2021-12-24 11:17:19

我找到了解决办法。我从父小枝responsive_image_style_id调用

代码语言:javascript
复制
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'];
  }
}
票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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