Я использую image_style_url, чтобы получить эскиз картинки, которую я добавил через интерфейс администратора.
// $foo->field_picture['und'][0]['uri'] has value public://foo.jpg
image_style_url('foo-thumb', $foo->field_picture['und'][0]['uri']);
API заявляет, что изображение будет создано при запросе URL. Однако при посещении страницы изображение не отображается (404). URL-адрес, возвращаемый функцией, кажется правильно сформированным, но файл не был создан.
Папка «foo-thumb» находится в папке с общими данными, и права доступа к файлам должны быть в порядке. Я попытался очистить кэш изображений (drupal image-flush foo-thumb), но все равно ничего не получилось.
Есть идеи?
image_style_create_derivative
в$style
переменной должен быть массив$style = image_style_load('my_style');
$style
хотя,image_style_load()
прежде чем переходитьimage_style_create_derivative()
в соответствии с документами .Одна распространенная ошибка заключается в том, что URI неправильно отформатированы. Убедитесь, что к вашему параметру URI добавлен префикс
public://
.Плохая практика
Это выводит URL на стилизованное изображение (с токеном изображения), но не генерирует стилизованное изображение, если оно не было сгенерировано ранее.
Хорошая практика
Это выводит стилизованный URL, как указано выше, и генерирует стилизованное изображение, если его не существует.
источник
Путь к публичной файловой системе был неверным.
источник
Другой вариант - использовать функцию темы.
Вместо того, чтобы возвращать URL, он вернет HTML для IMG.
источник
здесь можно использовать URL для создания HTML
источник
Убедитесь, что у вас есть
foo-thumb
стиль, вы можете проверить наadmin/config/media/image-styles
.Первые параметры image_style_url - это имя стиля , а не имя папки .
источник
ErrorDocument 404 /index.php
, работает ли Drupal поверх вашего домена? Другая попытка - установить инструментарий imagemagick, но я вижу, что ваша проблема не является проблемой при рендеринге изображений php.Если вы получаете 404 при попытке просмотра изображения, возможно, что имя стиля изображения неверно. В моем случае имя стиля, отображаемое в стилях изображения, не было именем компьютера с именем стиля. При наведении курсора на стиль в URL будет отображаться имя машины с именем стиля. Либо измените его на имя машины, либо удалите текущее и заново создайте нужное имя.
источник