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