Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
А вот код с помощью которого можно отсортировать по такому описанию с сохранением порядка, если поле не заполнено:
На выходе имеем отсортированный массив $arPHOTO.
Назад в раздел
Наверх
то ждем ваше обращение в нашей службе тех поддержки.
Сортировка множественного свойства инфоблока типа файл с описанием
Сегодня решили задачу сортировки дополнительных фотографий товара с описание. В описание добавили квадратные скобки для хранения поля сортировки, пример описания: [1] Системный блок без корпуса.А вот код с помощью которого можно отсортировать по такому описанию с сохранением порядка, если поле не заполнено:
foreach($arFields['PROPERTIES']['MORE_PHOTO']['VALUE'] as $PHOTO)
{
$arPHOTO[]=CFile::GetFileArray($PHOTO);
}
// Костыль для сортировки дополнительных изображений товара. Сортируем по описанию, пример: [1] Сервер HP ProLiant ML350e Gen8 - настольное исполнение корпуса
foreach($arPHOTO as $key => $value)
{
if(preg_match("/\[(.*?)\]/", $value['DESCRIPTION'], $matches))
{
$arPHOTO[$key]['DESCRIPTION'] = trim(str_replace($matches[0], '', $value['DESCRIPTION']));
$arPHOTO[$key]['SORT'] = $matches[1];
}
else
$arPHOTO[$key]['SORT'] = 1000 + $key;
$sorts[$key] = $arPHOTO[$key]['SORT'];
}
array_multisort($sorts, SORT_ASC, $arPHOTO); |
На выходе имеем отсортированный массив $arPHOTO.
Назад в раздел
Подписаться на новые материалы раздела:
Загрузка...
Наверх