Поснов Андрей

вывести доп изображения битрикс в товаре или новостях

По интернету ходит вполне подробная инструкция по добавлению и выводу дополнительных изображений в новостях- ею и воспользуемся :

Для вывода дополнительных изображений в элементах информационного блока (т.е. изображений кроме PREVIEW_PICTURE и DETAIL_PICTURE) необходимо создать дополнительное свойство типа ФАЙЛ с кодом MORE_PHOTO.

Дополнительные картинки в новостях Битрикс

Детальное редактирование.

Дополнительные картинки в новостях Битрикс

Нужно в шаблоне news.detail добавить в файл result_modifier.php следующий код:

$arResult["MORE_PHOTO"] = array(); if(isset($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"])) { foreach($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE) { $FILE = CFile::GetFileArray($FILE); if(is_array($FILE)) $arResult["MORE_PHOTO"][]=$FILE; } } ?>
тем самым мы сможем обращаться к массиву фотографий также, как это происходит в шаблоне каталога: $arResult[«MORE_PHOTO»].

Далее копируем код из шаблона каталога для вывода изображений в шаблон новостей news.detail:

// additional photos $LINE_ELEMENT_COUNT = 2; // number of elements in a row if(count($arResult["MORE_PHOTO"])>0):?>


» width=»=$PHOTO["WIDTH"]?>» height=»=$PHOTO["HEIGHT"]?>»
alt=»=$arResult["NAME"]?>» title=»=$arResult["NAME"]?>» />



После этого подгруженные изображения будут отображаться при выводе новостей. Правда таким образом выводить изображения навтрятли кто станет, ведь они выводятся в реальном размере и могут сильно попортить дизайн сайта. Чтобы этого не происходило применяют следующую функцию.

CFILE::RESIZEIMAGEGET
Вот что говорится в официальной документации: Функция уменьшает картинку и размещает уменьшенную копию в папку /upload/resize_cache/путь. Один раз уменьшив изображение получаем физический файл, который позволяет при последующих обращениях не проводить операции по уменьшению изображения. При следующем вызове функция вернет путь к уменьшенному файлу.

Таким образом нам достаточно немного подправить код:

// additional photos $LINE_ELEMENT_COUNT = 2; // number of elements in a row if(count($arResult["MORE_PHOTO"])>0):?>

$file = CFile::ResizeImageGet($PHOTO, array('width'=>150, ‘height’=>’112’), BX_RESIZE_IMAGE_EXACT, true); ?>



И мы получаем список превьюшек с ссылками на оригиналы. В итоге при добавлении новости просто выбираем изображения при добавлении статьи или новости:

Дополнительные картинки в новостях Битрикс

ПРИКРУЧИВАЕМ КРАСОТУЛЕЧКУ
Итак, мы вывели превьюшки в новость, сделали их ссылками на полное изображение. Давайте теперь прикрутим к этому fancybox

Скачиваем архивчик с плагином и закидываем в корень сайта (можно конечно в любую папку, например в папку с шаблоном)

Добавляем в news.detail:





И в строчке

" name="more_photo">
Дописываем

" name="more_photo" title="=(strlen($arResult["DETAIL_PICTURE"]["DESCRIPTION"]) > 0 ? $arResult["DETAIL_PICTURE"]["DESCRIPTION"] : $arResult["NAME"])?>">

вывести доп изображения битрикс в товаре или новостях
Exit mobile version