День добрый. Появилась такая надобность неожиданно.
Как пересоздать все картинки анонса в каталоге?
Как пересоздать все картинки анонса в каталоге?
05.04.2013 12:54:18
День добрый. Появилась такая надобность неожиданно.
Как пересоздать все картинки анонса в каталоге? |
|
|
|
05.04.2013 12:59:28
|
|
|
|
05.04.2013 13:29:20
Уточню что подразумевал.
У всех элементов торгового каталога картинки анонса (уменьшенные) поменялись параметры отображения (новые размеры) и соответственно из детальной картинки надо их пересоздать. |
|
|
|
05.04.2013 13:41:50
удалите папку или все в этой папке
upload/resize_cache/iblock/ |
|
|
|
05.04.2013 13:59:00
удалю и в какой же момент битрикс пересоздаст анонс.картинки?
|
|
|
|
05.04.2013 14:11:16
а как только обратится к компоненту, который их использует
|
|
|
|
05.04.2013 14:41:49
|
|||
|
|
05.04.2013 15:20:53
всем спасибо попробую
|
|
|
|
09.06.2015 12:41:56
Ну что? Решилась задача?
У меня вот загвоздка небольшая... все картинки хранятся в каталоге: /upload/iblock/ и если я удалю здесь все папки, то потеряю вообще все картинки... Как быть? |
|
|
|
09.06.2015 13:46:43
Влад Перминов, я бы в цикле удалил все картинки анонса используя CIBlockElement::Update пройдясь по каждому элементу.
|
|
|
|
09.06.2015 14:12:51
я так понимаю мне нужно страничку создать в которой описать цикл, который пробежится по всем разделам инфоблока и удалит картинки? Или есть в битриксе какая то фишка куда я напишу кусочек кода и он его выполнит? |
|||
|
|
09.06.2015 18:23:45
Настройки -> Инструменты -> Командная строка PHP.
Там нужно будет сперва получить полный список элементов каталога, для этого используй GetList() - Сформировав массив, на его основе, уже обновляешь элементы Update() - Но сперва на одним элементе попробуй ) |
|
|
|
09.06.2015 23:06:57
|
|||
|
|
11.06.2015 10:16:16
Вот только что-то не понимаю как правильно через командную строку выполнить скрипт... Жалуется что класса такого не знает: Fatal error: Class 'CIBlockSection' not found in /home/u23318/ по этому мануалу пробовал Всё работает а вот CIBlockSection не находит( |
|||
|
|
11.06.2015 12:08:24
В первой строке нужно подключить служебные классы Битрикса:
Ну или так, может не особо и правильно, но проще, по крайне мере мне.
|
|||||
|
|
11.06.2015 15:59:18
Немного сдвинулся с места, но пока ещё не до конца)
Получил список разделов из 13-го инфоблока и в цикле попытаюсь обновить картинку, CIBlockSection::Update($ar_result['ID'],,,true) тут в скобках правда не ясно правда что писать. Ещё нашёл, что можно через CFile::ResizeImageGet эту функцию изменить картинки (получить массив картинок нужных и все их уменьшить). Как правильнее? |
|||
|
|
11.06.2015 22:52:15
Как вариант, в шаблоне где картинки нужны новых размеров, сделать result_modifier.php и в нем отресайзить оригиналы CFile::ResizeImageGet этим, результаты кешируются
|
|
|
|
16.06.2015 10:28:24
Редактировал следующие строки: Было:
|
|||||||
|
|
18.11.2015 12:15:34
1) Ошибка в твоих изменениях в резалт модифаере кроется в том, что ты пытаешься сделать ресайз из первью картинки, которая и так маленькая. Т.е. ты пытаешься из маленькой картинки сделать большую, что битрикс делать не умеет (да и вообще мало кто умеет). Замени "PICTURE" на "DETAIL_PICTURE" (или в какой там переменной у разделов хранится детальная картинка) 2) Вот код для апдейта превью картинок у элементов(нужно что бы в настройках * стояла галочка генерации превью из детальной в любом случае) :
|
|||||||||||
|
|
30.05.2017 00:36:37
Доброго вечера.
Выражаю благодарность за помощь со скриптом. Все работает, картинки при тесте обновились. Единственное НО. У меня в каталоге 43000 товаров. За 7 минут он обновил 36 директорий картинок из 4000 и похоже что остановился. Через ftp уже не вижу изменений. Колесико загрузки еще крутится, подождем до утра. Ошибок никаких не вывел. |
|
|
|
30.05.2017 12:21:43
Нашел способ быстрее и проще.
Из админки выгрузить в ексель: внешний код с путем детальной картинки. В настройках инфоблока у анонсовой картинки поставьте галку "Создавать картинку анонса из детальной даже если задана". Сохраните таблицу в csv и загрузите её обратно (При импорте поставьте галку "Использовать настройки инфоблока для обработки изображений") В настройках инфоблока у анонсовой картинки уберите галку "Создавать картинку анонса из детальной даже если задана". |
|
|
|
20.08.2017 17:49:27
|
|||
|
|
22.08.2017 01:43:17
|
|||
|
|
28.11.2017 18:34:12
|
||||
|
|
|||