При интеграции с 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
|
|