D7-crm

Тел: +34624100225 +79262036707
  • Главная
  • Услуги
    • Внедрение amoCRM
    • Внедрение Битрикс24
    • Интеграции CRM
    • Техническая поддержка CRM
    • Обучение работе в CRM
  • Лицензирование
    • Лицензии amoCRM
    • Лицензии Битрикс24
  • О нас
    • Кейсы
    • Блог про автоматизацию
  • Контакты
    • Вакансии
VPN нового поколения
Среда, 09 марта 2022 / Опубликовано в Apix-drive, Без рубрики, Битрикс24

Сортировка изображений по названию при выгрузке из 1С

Время на прочтение: < 1 минуты

====quote====
Выгрузка товаров из 1С в интернет-магазин, шаблон «Аспро Максимум».
Задача, чтобы изображения («MORE_PHOTOS») выгружались в определенном порядке, а именно по алфавиту.
=============
Из 1С название выгружается в поле DESCRIPTION.
Сделала обработчик в init.php при добавлении и изменении элемента, который сортирует по данному полю.
====code====

AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "SortMorePhotos");
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "SortMorePhotos");

function SortMorePhotos(&$arFields){
    if(!empty($arFields['IBLOCK_ID']) && in_array($arFields['IBLOCK_ID'],[53,55])){ //инфоблок товаров и офферсов
        $photosPropId = ($arFields['IBLOCK_ID'] == 53) ? 507 : 662; //id свойства MORE_PHOTOS в данных инфоблоках         
        $arPhotos = [];   
        if(isset($arFields["PROPERTY_VALUES"][$photosPropId])){             
            foreach($arFields["PROPERTY_VALUES"][$photosPropId] as $keyPhoto => $arPhoto){
                if(!empty($arPhoto)){
                    if(1*$keyPhoto == 0){                
                        $arPhotos[$keyPhoto] = ($arPhoto["DESCRIPTION"]!=="") ? $arPhoto["DESCRIPTION"] : $arPhoto["VALUE"]["name"];
                    }
                }                
            }
        }       
        if(!empty($arFields["ID"])){
            $res = CIBlockElement::GetProperty($arFields["IBLOCK_ID"], $arFields["ID"], "sort", "asc", array("ID" => $photosPropId));               
            while ($ob = $res->GetNext()){                            
                $arPhoto = CFile::GetFileArray($ob["VALUE"]);                 
                $arPhotos[$ob["PROPERTY_VALUE_ID"]] = ($arPhoto["DESCRIPTION"]!=="") ? $arPhoto["DESCRIPTION"] : $arPhoto["FILE_NAME"];               
                $arPhotosFull[$ob["PROPERTY_VALUE_ID"]] = $ob;
            }
        }        
        if(!empty($arPhotos)){            
            asort($arPhotos);             
            $arNewPhotos = [];                
            foreach ($arPhotos as $keyPhoto => $descPhoto) { 
                if(isset($arFields["PROPERTY_VALUES"][$photosPropId][$keyPhoto])){               
                    $arNewPhotos[$keyPhoto] = $arFields["PROPERTY_VALUES"][$photosPropId][$keyPhoto];
                }
                else{
                    $arNewPhotos[$keyPhoto] = array (
                        'VALUE' => 
                        array (
                          'name' => NULL,
                          'type' => NULL,
                          'tmp_name' => NULL,
                          'error' => 4,
                          'size' => 0,
                          'description' => '',
                        ),
                        'DESCRIPTION' => '',
                      );
                }
            } 
            $arFields["PROPERTY_VALUES"][$photosPropId] = $arNewPhotos;
        }        
    }
}

=============
Подробнее…

С пометкой под: Битрикс24

Что вы можете прочитать дальше

Настройка справочника «Налоги» в Ramex CRM
Роботы вместо классической интеграции
Почему Битрикс24 не внедряется в компаниях? Причина №1 #shorts

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Категории

  • 1С
  • Albato
  • amoCRM
  • Apix-drive
  • CRM
  • Profitbase
  • Roistat
  • U-ON Travel
  • Без рубрики
  • Битрикс24

Услуги

Внедрение amoCRM
Заказать интеграцию
Заказать внедрение
Внедрение Битрикс24

Получить консультацию


    [cf7ic]

    Поиск

    Отраслевая экспертиза

    • Строительство
    • Салоны красоты
    • Онлайн образование
    • Туризм
    • Недвижимость

    Политика конфиденциальности

    Пользовательское соглашение

    Контакты

    T +34624100225
    Email: s@d7-crm.ru

    D7-CRM
    г. Москва

    Открыть Яндекс карты

    меню

    D7-crm

    © 2016-2025 All rights reserved. D7-CRM.

    НАВЕРХ