Задать вопрос
  • Изменить размер картинки в оформлении заказа?

    в общем, вдруг кому то пригодится:
    у меня стояла задача изменить размер превью и сделать его жестко квадратным, а не чтобы он уменьшался пропорционально как это реализовано стандартно.
    Для этого в файле \local\templates\Ваш шаблон\components\bitrix\sale.basket.basket\Ваш шаблон\mutator.php
    ищем код и комментируем его:
    if (!empty($row['PREVIEW_PICTURE_SRC']))
    	{
    		$rowData['IMAGE_URL'] = $row['PREVIEW_PICTURE_SRC'];
    	}
    	elseif (!empty($row['DETAIL_PICTURE_SRC']))
    	{
    		$hideDetailPicture = true;
    		$rowData['IMAGE_URL'] = $row['DETAIL_PICTURE_SRC'];
    	}

    сразу после вставляем нужный код:

    $imageId = 0;
    
        if (!empty($row['PREVIEW_PICTURE'])) {
            $imageId = $row['PREVIEW_PICTURE'];
        } elseif (!empty($row['DETAIL_PICTURE'])) {
            $imageId = $row['DETAIL_PICTURE'];
        }
    
        if ($imageId > 0) {
            $resized = CFile::ResizeImageGet(
                $imageId,
                ['width' => 130, 'height' => 130],
                BX_RESIZE_IMAGE_EXACT,
                true
            );
    
            if (!empty($resized['src'])) {
                $rowData['IMAGE_URL'] = $resized['src'];
            }
        } else {
            // fallback на оригинальные пути, если ресайз не сработал
            if (!empty($row['PREVIEW_PICTURE_SRC'])) {
                $rowData['IMAGE_URL'] = $row['PREVIEW_PICTURE_SRC'];
            } elseif (!empty($row['DETAIL_PICTURE_SRC'])) {
                $rowData['IMAGE_URL'] = $row['DETAIL_PICTURE_SRC'];
            }
        }


    в моем случае все превью стали квадратными 130 на 130 пикселей

    При этом вывод картинки в файле \local\templates\Ваш шаблон\components\bitrix\sale.basket.basket\Ваш шаблон\js-templates\basket-item.php
    остался стандартным:
    <img class="basket-item-image" alt="{{NAME}}"
                                 src="{{{IMAGE_URL}}}{{^IMAGE_URL}}<?=$templateFolder?>/images/no_photo.png{{/IMAGE_URL}}">
    Написано