Блог Николая Семенцова

Партнер компании 1с-битрикс

1C - интеграция сортировка фотографий в карточке товара

При интеграции с 1С фотографии из 1С  почему то идут в рандомном порядке а не сортируются по имени.

Для того что бы в карточке товара фотографии отображались как в 1С я добавил в начало файла result_modificer.php шаблона такой код

// для сортировки в правильно порядке
// получим списки фотографий
$NameFileArray = array();
$NameFileArrayAll = array();
foreach($arResult['PROPERTIES']['CML2_TRAITS']['VALUE'] as $v){
    if(substr_count($v, 'import_files') > 0) {
        $NameFileArrayAll[] = $v;
        $NameFileArray[] = strstr($v, '#');
    }    
}
// отсортируем фотографии наших массивов
sort($NameFileArray);
$SortFileName = array();
foreach($NameFileArray as $vfile){
    foreach($NameFileArrayAll as $vorignal) {
        if(substr_count($vorignal, $vfile) > 0) {
            $vorignal = str_replace($vfile, '', $vorignal);
            $SortFileName[] = $vorignal;
            //$NameFileArray[] = strstr($v, '#');
            break;
        }                
    }
 
}  
// отсортируем массив с полными данными о фотографиях
$MorePhotoNewArray = array();
foreach($SortFileName as $trueVal) {
    foreach($arResult['MORE_PHOTO'] as $key => $val) {
        if(substr_count($trueVal, $val['ORIGINAL_NAME']) > 0) {
            $MorePhotoNewArray[] = $arResult['MORE_PHOTO'][$key];
        }         
    }
 
}
$arResult['MORE_PHOTO'] = $MorePhotoNewArray;

Удачного использования.


Опубликовано: 19 октября 2012




Помогла заметка? Жмите кнопки ниже


ВКонтакт Facebook Google Plus Одноклассники Twitter Яндекс Livejournal Liveinternet Mail.Ru





comments powered by Disqus