Подскажите, возможно кто-то сталкивался. Создан типа материала "Новости" и загружены изображения для превью всех новостей, используя модуль image crop. Встала задача изменить размер изображений в превью. Захожу в тип материала и изменяю размер загружаемого превью, но чтобы изменилось само изображение необходимо пересохранить материал. Новостей очень много и этот способ достаточно трудоемок. Есть ли какие-то способы массово изменить все изображения без пересохранения материала?
Комментарии
Много новостей это сколько?
Если их не так много, то либо на странице настройки image styles - нажать Flush, либо для драша команда есть.
Если новостей реально много, то я рекомендую скрипт в крон, который будет удалять самые старые файлы из files/styles/stylename.
Иначе есть риск подвесить сервер
Новостей реально много, около может 1000. А что это за скрипт? киньте плиз ссылку в каком направлении искать.
с 1000 вообще можно не париться и делать из админки
1000 новостей, это дофига времени, чтобы открыть каждую новость и пересохранить ее
Прочитайте, пожалуйста, мой первый комментарий.
Там указано куда нажать, чтобы сбросить сгенерированные изображения у всего пресета
я не вижу нигде кнопку flush
"Захожу в тип материала и изменяю размер загружаемого превью, но чтобы изменилось само изображение необходимо пересохранить материал." - В смысле?
Может вообще папку files/styles/ удалить и миниатюры по новому сгенерируются при заходе на материал?
Или я неправильно понял о чем речь...
Каждая миниатюра новости падает в отдельную папку например, uploads/news/2019/5897/thums и если удалить эту папку, то она не генерится автоматом.
Пусть туда попадают исходники.
А миниатюры (изображения генерируемые стилями) лежат в папке styles - и эту папку можно стереть.
после удаления этой папки и запуска cron эта папке не генерится сама.
Она сгенериться когда, пользователь зайдет на страницу, где миниатюра показана.
она сгенерилась, но фотки остались прежних размеров.
Image crop обязателен для превьюшек? Может быть можно просто изменить стиль, чтобы он был со стандартным масштабированием и стандартной обрезкой?
да, это важно для заказчика. Если просто меняешь стиль, то все фотки нужной формы , но они расплываются так как теряется качество.
А может качество сжатия в настройках повысить? admin/config/media/image-toolkit
там и так 100%
Сделайте стиль не 100на100, а 200на200 и сожмите стилями до нужного размера - качество будет перфекто.
система берет исходное изображение от текущего т.е. 220*150 и если его увеличить до 200*200, то так же все расплывается.
Так нужно эффект не "изменить размеры", а "масштабировать" выбрать.
и так делаю маштабирование и обрезка, но когда выставляешь он берет исходное изображение от текущего аватара, а так как оно маленькое, а мне надо его увеличить все размывается.
А зачем пытаться увеличить размеры и как в этом поможет кроп?
Сейчас выгружены изображения в новости 220*150. Мне необходимо 250*170. Новости созданы типом материала, где выставлены размеры и выведены через views. Обрезка изображения для аватара осуществляется с помощью кроп, так как сотрудник выбирает сам область для аватара.
А исходники изображений какие? Надеюсь, вы понимаете, что если исходник 150, то 170 качественно из него нельзя сделать никак?
Ну конечно! Исходники большие, 600 на 450. Только сейчас при изменении размеров он берет исходник от текущего загруженного аватара
А точнее от области выделенной кропом при сохранении
А вот это уже странно, но я не знаю, как именно работает этот модуль, так что тут наши полномочия всё.
Я бы написал небольшой action (сама операция что есть) и заюзал во вьюс балке.
а можно подробнее?
Можно https://api.drupal.org/api/examples/action_example%21action_example.modu...
Спасибо! Буду разбираться
Закралось подозрение, что вы для превью картинок и полной версии используете два разных поля.
поле одно, а его обработка происходит с помощью image crop
А кропите в произвольных пропорциях или в заданных?
в заданных через тип материала
"но чтобы изменилось само изображение необходимо пересохранить материал"
Вы жмёте Редиктировать, а потом Сохранить и всё нормализуется или вам нужно "перенатягивать" рамку кропа?
Рамку менять не обязательно, главное пересохранить материал.
тогда самое простое, на мой взгляд, написать пакетный "пересохранятель", который будет делать
$node = node_load(X); node_save($node);
для каждой новости.