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

Уменьшение картинки при импорте товаров из CSV

00 голосов
4
Вопрос как сделать уменьшение картинки? Импортирую из CSV картинки подхватываются нормально. В инфоблоке задал свойство уменьшать изображение, но оно остается оригинальным.
спросил 13 Дек, 13 от Smoki (100 баллов)

4 Ответы

00 голосов
Тех поддержка молчит. Не кто не встречался с такой задачей при импорте ?
ответил 19 Фев, 14 от Smoki (100 баллов)
00 голосов
нужно написать обработчик, который налету бы делал эти изменения.
Если сильно нужно и не охота копаться, обращайтесь, попробуем помочь
ответил 10 Июнь, 14 от Shilen (900 баллов)
00 голосов
Добрый день.

Разбираюсь с обработчиком при импорте из CSV

Код
define("IBMAINCATALOG_ID", 13);             //инфоблок главного каталога
AddEventHandler('iblock', 'OnAfterIBlockElementAdd', 'my_onAfterIBlockElementAddHandler');

    function my_onAfterIBlockElementAddHandler(&$arFields)
    {
//для теста запишем в лог
$f = fopen($_SERVER["DOCUMENT_ROOT"]."/goods_add.log", "a");
ob_start();
print_r($arFields);
$print_r = ob_get_contents();
ob_end_clean();
fwrite($f, date("Y-m-d H:i:s", time())." ".$print_r."\n");
fclose($f);

        if(!CModule::IncludeModule("iblock"))
        {
            global $APPLICATION;
            $APPLICATION->throwException("Не могу подключить модуль iblock");
            echo "Не могу подключить модуль iblock";
            die();
            return;
        }

        if($arFields['IBLOCK_ID'] == IBMAINCATALOG_ID)   //если добавляли элемент в каталоге
        {
            $arElement = GetIBlockElement($arFields['ID']);
//для теста запишем в лог
$f = fopen($_SERVER["DOCUMENT_ROOT"]."/goods_add.log", "a");
ob_start();
if($arElement)
{
    print_r($arElement);
    $print_r = ob_get_contents();
}
else
{
    $print_r = "false";
}
ob_end_clean();
fwrite($f, date("Y-m-d H:i:s", time())." ".$arFields['ID']." ".$print_r."\n");
fclose($f);

            $big_img = CFile::CopyFile($file_id); //нужно получить $file_id, а GetIBlockElement($arFields['ID']) возвращает false
            $el = new CIBlockElement;
            CIBlockElement::SetPropertyValues($arFields['ID'], $arFields['IBLOCK_ID'], array('b_photo' => $big_img), 'b_photo');
            $el->Update($arFields['ID'], array('DETAIL_PICTURE' => $arFields['DETAIL_PICTURE']), false, true, true);
//'PREVIEW_PICTURE' и 'DETAIL_PICTURE' обрабатываются правильно, согласно настройкам инфоблока
        }
    }
ответил 08 Окт, 14 от Trosag (100 баллов)
00 голосов
ответил 08 Фев, 15 от Sangero (280 баллов)

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

0 голосов
1 ответ
спросил 23 Янв, 14 от Aribor (560 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
спросил 05 Дек, 17 от аноним
+1 голос
6 ответов
спросил 30 Ноя, 13 от FlashKO (130 баллов)
0 голосов
1 ответ