FAQ и советы Битрикс


Как получить изображения из медиабиблиотеки через API Битрикса?

Если на своем сайте на Битрикс вы храните изображения в Медиабиблиотеки, то возникает вопрос: Как получить изображения из медиабиблиотеки через API Битрикса?
Ниже привожу код, как это сделать.

Также расскажу, как получить адрес и получить случайное изображение из медиабиблиотеки Битрикс.

Сначала получим адрес нашего сайта:

<? //Получаем адрес сайта
$rsSites = CSite::GetByID('s1');
$arSite = $rsSites->Fetch();
$site= 'http://'.$arSite['DOMAINS'];
?>

Далее организуем вывод пути до изображений через API Битрикс, который потом можно уже использовать по своему назначению:

<?
//Перед использованием методов класса, подключаем
CModule::IncludeModule("fileman");
CMedialib::Init();

//Получения списка всех коллекций
$arCol= CMedialibCollection::GetList(array('arFilter' => array('ACTIVE' => 'Y')));

//Получения всех изображений коллекции с ID равным 1
$arItems= CMedialibItem::GetList();

//Заполним массив путей к картинкам
$arImgPath= array();
foreach ($arItems as $arItem){
 $imgPath= $arItem['PATH'];
 $arImgPath[]= $imgPath;
        };
echo "<pre>";
print_r($arImgPath);
echo "</pre>";
?> 

Результат будет следующим:

Array
(
    [0] => /upload/medialibrary/b1f/b1f48ac6628ad2edb15e79922022417d.jpg
    [1] => /upload/medialibrary/d80/d802123cb5c5abe33decfdebf724c2b8.png
    [2] => /upload/medialibrary/526/526412531cee356b31c718b831731205.jpg
    [3] => /upload/medialibrary/e70/Движение реализ1.png
    [4] => /upload/medialibrary/d2d/Движение реализ2.png
    [5] => /upload/medialibrary/e24/Движения свободные остатки.png

***

И напоследок ещё пример, как получить случайный путь к изображению

<?
//Получим случайную картинку
$imgPath= $arImgPath[array_rand($arImgPath, 1)];
$imgUrl= $site.$imgPath;
echo $imgUrl;
?>


Количество показов: 3623

Возврат к списку