Рейтинг:0

hook_theme_suggestions_image_alter() не возвращает ['data-responsive-image-style']

флаг ru

Возможно у меня похожая проблема Хук template_preprocess_image Drupal 9.2 не работает.

Когда я помещаю этот код в myTheme.theme

функция HOOK_theme_suggestions_image_alter (массив & $ предложения, массив $ переменных)
{
 $responsive_style = $variables['attributes']['data-responsive-image-style'];
 $suggestions[] = 'image__'.$responsive_style;
}

Хук хорошо работает на встроенных изображениях с этим модуль Встроенные адаптивные изображения и он возвращается ['данные-реагирующий-стиль-изображения'].

Но он не работает с обычными изображениями статей, он возвращает ноль.

Когда я отлаживаю $переменные['атрибуты'] он имеет именно это значение

$variables[...] массив (1)
  свойство => массив (1)
    => строка (12) "схема: изображение"
No Sssweat avatar
флаг ua
Я использую этот модуль. `data-responsive-image-style` добавляется только к изображениям текстового редактора, он не предназначен для работы с полями изображений. Для полей изображений вам необходимо использовать модуль адаптивных изображений ядра.
apaderno avatar
флаг us
@NoSssweat Звучит как ответ.
Drazen avatar
флаг ru
Я знаю, что встроенный модуль адаптивных изображений используется только для текстового редактора, но он работает нормально. и вернуть правильные данные $variables['attributes']['data-responsive-image-style']. Я использую основной модуль для адаптивных изображений, но в верхнем регистре он возвращает null.
Рейтинг:0
флаг ru

Я нашел решение. Я вызывал из родительской ветки responsive_image_style_id

функция hook_preprocess(&$variables, $hook) {
  если ($ крюк == 'отзывчивое_изображение') {
    $GLOBALS['responsive_image_style_id'] = $variables['responsive_image_style_id'];
  }
}

function hook_theme_suggestions_alter (массив и $ предложения, массив $ переменных, $ крючок) {
  если ($ крюк == 'изображение') {
    return $suggestions[] = 'image__'.$GLOBALS['responsive_image_style_id'];
  }
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.