@alexander_chn

Как через апи битрикс вывести дополнительные изображения элемента инфоблока?

Здравсвуйте! Нужно с помощью api bitrix вывести дополнительные изображения элемента инфоблока. Есть множественно свойсто типа Файл ATT_OW_MORE_PHOTO
Код ниже выводит эти изображения, но по странному, если дополнительных изображений три. то он три раза выведет и id и имя и детальный текст, как его переписать чтобы выводилось по нормальному:
<?
			$iblock_id = 10;
			$arSelect = Array("ID", "NAME", "PROPERTY_ATT_OW_MORE_PHOTO", "DETAIL_PICTURE", "DETAIL_TEXT");
			$arFilter = Array( "IBLOCK_ID"=>$iblock_id, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y" );
			$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, $arSelect);

			while($ob = $res->GetNextElement()) :
				$arFields = $ob->GetFields();

				echo "ID: " . $arFields['ID'];echo "<br>";

				$db_old_groups = CIBlockElement::GetElementGroups($arFields['ID'], true);
				// while($ar_group = $db_old_groups->Fetch())
				// 	echo "SECTION CODE: " . $ar_group["CODE"]." ";
				echo "<br>";
				echo "NAME: " . $arFields['NAME'];echo "<br>";
				echo "PICTURE: ".CFile::GetPath($arFields['DETAIL_PICTURE']);echo "<br>";
				echo "DETAIL TEXT" . $arFields['DETAIL_TEXT'];echo "<br>";
				
				echo "dop photo: ";

				echo "<img src='" . CFile::GetPath($arFields['PROPERTY_ATT_OW_MORE_PHOTO_VALUE']) . "' />";
				echo "<br>===================<br>";

			endwhile;
			?>
  • Вопрос задан
  • 474 просмотра
Пригласить эксперта
Ответы на вопрос 2
@den-masonov
в выдаче гетлиста должны быть и дополнительные свойства в виде массива ["PROPERTIES"]["ATT_OW_MORE_PHOTO"]

возьми его и прогони через цикл
Ответ написан
@alexander_chn Автор вопроса
Решил вот таким образом:
<?
			$iblock_id = 10;
			$arSelect = Array("ID", "NAME", "CODE", "PROPERTY_ATT_OW_MORE_PHOTO", "DETAIL_PICTURE", "DETAIL_TEXT");
			$arFilter = Array( "IBLOCK_ID"=>$iblock_id, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y" );
			$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, $arSelect);

			$code = "";
			while($ob = $res->GetNextElement()) :
				$arFields = $ob->GetFields();

				if ($code != $arFields['CODE']) {

					$code = $arFields['CODE'];
					echo "ID: " . $arFields['ID'];echo "<br>";

					$db_old_groups = CIBlockElement::GetElementGroups($arFields['ID'], true);
					while($ar_group = $db_old_groups->Fetch())
						echo "SECTION CODE: " . $ar_group["CODE"]." ";
					echo "<br>";
					echo "NAME: " . $arFields['NAME'];echo "<br>";
					echo "CODE: " . $arFields['CODE'];echo "<br>";
					echo "PICTURE: "."<img width='250px' src='" . CFile::GetPath($arFields['DETAIL_PICTURE']) . "'/>";
					echo "<br>";
					echo "DETAIL TEXT: " . $arFields['DETAIL_TEXT'];echo "<br>";
				}
				echo "<img width='250px' src='" . CFile::GetPath($arFields['PROPERTY_ATT_OW_MORE_PHOTO_VALUE']) . "'/>";
			endwhile;
			unset($iblock_id, $arSelect, $arFilter, $res, $code, $ob, $arFields, $db_old_groups);
			?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы