Получить и вывести пользовательские свойства склада в 1С-Битрикс

Просмотров: 4074

Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и множественные и одиночные поля.

Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и множественные и одиночные поля.

Получаем пользовательские поля склада с помощью 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 путь к каждой картинке.

Перетащите файлы
Ничего не найдено
Нажимая кнопку "Отправить" вы соглашаетесь
с политикой конфиденциальности и обработки персональных данных.