Перестройте изображения из стиля изображения


58

У меня есть стиль изображения в Drupal 7. Я прикрепил несколько изображений к узлам и отображал изображения на основе этого стиля. Затем я изменил эффекты этого стиля изображения, но существующие изображения не воссоздаются с новыми эффектами стиля изображения. Они показывают со старыми эффектами стиля изображения.

Если я прикрепляю новые изображения, они используют новые эффекты. Удаление существующего изображения и повторная загрузка заставляет изображение использовать старые эффекты.

В руководстве (неправильно я предполагаю) говорится, что простое сохранение стиля изображения вызывает перестройку: http://drupal.org/documentation/modules/image

Я очистил кэшированный.

Как заставить перестроить?


1
Вы действительно нажимали кнопку « Обновить стиль» , когда находились на странице «Стиль изображения»? Я только что провел несколько тестов и убедился, что при щелчке по нему все сгенерированные файлы в каталоге файлов удаляются.
— Juampy NR

Руководство правильное. Изменение стиля изображения, например, путем добавления, редактирования или удаления эффекта, стирает стиль изображения. Это может быть кеш вашего браузера (или другого промежуточного) или проблема с правами при удалении производных.
— fietserwin

Я использовал собственную команду drush для регенерации изображений gist.github.com/typhonius/8599853
— apostnikov

Ответы:



15

Чтобы очистить имена стилей изображения в Drupal 7 через пользовательский интерфейс, попробуйте этот модуль contrib:

http://drupal.org/project/imagestyleflush

Это дает вам возможность сброса для каждого имени стиля изображения. Также имеется возможность сбрасывать все имена стилей изображения одновременно.

Как только модуль включен, в интерфейсе администратора перейдите сюда, чтобы очистить определенный стиль изображения:

admin/config/media/image-styles

9

Это ошибка со стилями изображения. Если вы редактируете стиль изображения и редактируете уже существующий эффект, изображения не будут сбрасываться при обновлении. Однако, если вы удалите этот эффект (я не говорю об удалении стиля изображения - удалите эффект в пределах определенного стиля изображения) и создадите новый, изображения будут обновлены при обновлении.


Функция image_effect_save () вызывает image_style_flush (), так что это не ошибка.
— fietserwin

1
То, что что-то вызывается, не означает, что это не ошибка. Функциональности нет, когда это должно быть. Это определение ошибки ...
— Киркланд

3

Есть еще один, более простой способ. Это скорее замена, чем обновление, но работает нормально. Вы можете создать новый стиль изображения на основе старого, но с новыми функциями (действиями с изображениями), которые вы пожелаете. Затем удалите старый стиль; На странице подтверждения удаления вы найдете выпадающий список с доступными стилями изображений, которые вы можете использовать для замены старого. Это стандартная функция замены стиля изображения, я полагаю.


3

Отредактируйте нужный вам стиль из admin / config / media / image-styles.

Нажмите кнопку «Обновить стиль» внизу, чтобы сбросить все существующие сгенерированные изображения в папке стилей и создать новые.


1

если у вас есть собственный шаблон и вы хотите применить стиль для поля изображения:

 $style='full_content_width';
 $path=$node->my_img_field['und']['0']['uri'];
 $style_url = image_style_url($style, $path);
  print "<img src=".file_create_url($style_url)." >";

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.