У меня все еще есть моя проблема, описанная здесь. Стиль изображения, повторное использование изображения в элементе коллекции полей, но я сдался, чтобы найти решение.
Временное решение, которое мне пришло в голову, - форсировать генерацию изображений на узле. Есть ли возможность сделать это?
Два ответа с блоками кода в основном правильные, за исключением того, что они пропускают одну важную вещь:
Предполагается, что первым аргументом image_style_create_derivative будет массив стилей изображения.
То, что они передают, это просто название стиля. В foreach, если вы добавите:
$style = image_style_load($style_name);
затем измените $ style_name на $ style в функции image_style_create_derivative, она должна работать как положено, и сгенерировать стилизованное изображение.
image_style_create_derivative($style, $file->uri, $derivative_uri);
Надеюсь, что это поможет кому-то еще с этой проблемой.
источник
Спасибо за вашу помощь, Клайв, моя целая функция для элементов коллекции полей: (еще один полезный пост от вас: Доступ к коллекции полей )
источник
Кажется, есть модуль для этой проблемы: https://www.drupal.org/project/imageinfo_cache
Посмотрите также раздел «Связанные модули» на странице.
источник
Рекомендуется использовать как hook_node_insert (), так и hook_node_update () и проверить, не созданы ли необходимые производные изображения, а затем сгенерировать их, в противном случае ничего не делать.
Примечание. Если ваше поле изображения содержит несколько изображений, вы должны просмотреть их следующим образом:
Генерация стилей изображения взята отсюда
источник