Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как изменить размеры картинок которые загружаюстя и урезаются?

00 голосов
5
Как изменить размеры картинок которые загружаюстя и урезаются?
Вот находимся мы с разделе товаров и видим список твоаров, а там картинки слишком маленькие, как мне сделать так чтобы картинки загружались с размером 150х150 пискелей?
спросил 30 Окт, 13 от Arronaks (480 баллов)

5 Ответы

00 голосов
У каждого товара есть две картинки: детальная и для анонса. Размеры этих картинок задаются в настройках инфоблока, и для их изменения есть несколько вариантов:
1. настроить инфоблок на другой размер картинок (старые придется перезалить)
2. использовать готовое решение, например, resizer (найдите через поиск, я его не продаю). Это позволяет использовать несколько размеров картинок путем создания нужного из детальной.
3. написать свою перерезалку. Аналогично п. 2
ответил 30 Ноя, 13 от MoKCimKA (140 баллов)
00 голосов
не получается настроить инфоблок чтобы картинка в переменной: $arElement["PREVIEW_IMG"] содержалась нужных мне размеров, только размеры на странице просмотра товара настраиваются.

Еше проблема в том, что туда где список товаров попадает картинка из "Подробно", а картинки из "Анонс" вообще нигде нет. И вот в этой переменной и хранится картинка из "Подробно" - $arElement["PREVIEW_IMG"]

Первый вопрос тот же, как сделать чтобы в списке товаров выводились картинки с нужными мне размерами?

Второй вопрос как сделать чтобы в компоненте списка товаров в переменной $arElement["PREVIEW_IMG"] находились данные от картинки Анонса а не картинки Детально?

Заранее благодарю за помощь.

Битрикс малый бизнес 10.0
ответил 12 Март, 14 от Arronaks (480 баллов)
00 голосов
Подробнее про пункты:
1. Рабочий стол -> Контент -> Информ. блоки -> Типы информ. блоков -> Ваш инфоблок
Смотрим "Поля", нужном ставим Уменьшать если большая и размеры

2. CFile::ResizeImageGet

Пример:
Код
while ($arElement = $res->GetNext()) {
    $image = CFile::GetFileArray($arElement['PHOTO']);

    if (!empty($image)) {
        // Пропорциональное уменьшение аватарки
        $tmpImage = CFile::ResizeImageGet($image, array("width" => 150, "height" => 150), BX_RESIZE_IMAGE_PROPORTIONAL, false);
        $image['src'] = $tmpImage['src'];
    } else {
        // Картинка, если аватарки нет
        $image['src'] = '/noimage150.png';
    }
    print '<img src="' . $image['src'] . '" alt="' . $arElement['NAME'] . '" title="' . $arElement['NAME'] . '" border="0"/>';
}


З.Ы. Если вам нужны именно квадратные изображения, используйте еще clip: rect(Y1, X1, Y2, X2)
ответил 02 Июль, 14 от Kiriel (2,010 баллов)
00 голосов
Ведь если я изменю файл модуля то при обновлении системы все вернется назад... или другого выхода нет?
ответил 02 Ноя, 14 от Arronaks (480 баллов)
00 голосов
Цитата
Связь пишет:
Второй вопрос как сделать чтобы в компоненте списка товаров в переменной $arElement["PREVIEW_IMG"] находились данные от картинки Анонса а не картинки Детально?


В шаблоне компонента выведите $arElement (пример: print_r($arElement);)
И посмотрите там картинку анонса.
ответил 02 Март, 15 от Kiriel (2,010 баллов)

Похожие вопросы

0 голосов
6 ответов
спросил 05 Окт, 13 от Alter (180 баллов)
0 голосов
1 ответ
0 голосов
4 ответов