Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и множественные и одиночные поля.
Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и множественные и одиночные поля.
Получаем пользовательские поля склада с помощью CCatalogStore::GetList
CCatalogStore::GetList - Метод возвращает результат выборки записей из таблицы складов в соответствии со своими параметрами.
Итак: в модуле магазина созданы дополнительные, пользовательские свойства с различными типами данных. Есть и множственные списки и дополнительные фотографии.
Что бы получить все эти поля, достаточно воспользоваться вот таким кодом. Вставить его можно в result_modifier.php компонента детального просмотра склада catalog.store.detail и дополнить массив $arResult
$dbResult = CCatalogStore::GetList(
array(),
array('ID' => $arResult['ID']),
false,
false,
array("UF_*")
);
while ($dbResultStore = $dbResult->Fetch()) {
print_r($dbResultStore);
}
В распечатке массива $dbResultStore получите все пользовательские свойства.
Обратие внимание, что множественные поля, в том числе и дополнительные фотографии, будут в виде сиреализованного массива. Что бы получить и воспользоваться ими нужно использовать unserialize() принимает одну сериализованную переменную и конвертирует её обратно в значение PHP.
Пример для фотографий:
$dbResult = CCatalogStore::GetList(
array(),
array('ID' => $arResult['ID']),
false,
false,
array("UF_*")
);
while ($dbResultStore = $dbResult->Fetch()) {
$UF_PHOTOS = unserialize($dbResultStore['UF_PHOTOS']);
print_r($UF_PHOTOS);
}
Теперь в массиве $UF_PHOTOS хранится информация о фотографиях, что бы вывести сами фотографии, воспользуемся CFile::GetPath
CFile::GetPath- метод возвращает путь от корня сайта к зарегистрированному файлу.
foreach ($UF_PHOTOS as $UF_PHOTO) {
$arImagesPath = CFile::GetPath($UF_PHOTO);
echo $arImagesPath;
}
В переменной $arImagesPath путь к каждой картинке.