mrvinil
4/10/2017 - 8:06 AM

Ресайз изображений CFile::ResizeImageGet() Вывод множественных фото

Ресайз изображений CFile::ResizeImageGet() Вывод множественных фото

<? // логику работы пишем в файле result_modifier.php
// news.detail
  $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;
  	}
  }
?>

<? //Изображение товара выводим в template.php

$LINE_ELEMENT_COUNT = 2; // number of elements in a row 
if(count($arResult["MORE_PHOTO"])>0):?>
    <?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
        <? $img = CFile::ResizeImageGet($PHOTO, array('width'=>150, 'height'=>150), BX_RESIZE_IMAGE_EXACT, true); ?>
        <div class="more_photo">
          <a href="<?=$img["src"]?>" class="fancybox" rel="gallery" target="_blank">
            <img src="<?=$img["src"]?>"
                class="img-responsive"
                width="<?=$img["width"]?>" 
                height="<?=$img["height"]?>" 
                alt="<?=$arResult["NAME"]?>" 
                title="<?=$arResult["NAME"]?>">
          </a>
        </div>
    <?endforeach;?>
<?endif;?> 
?>
<?//Или так?>
        <?
        $renderImage = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"], Array("width"=> НОВАЯ_ШИРИНА, "height" => НОВАЯ_ВЫСОТА), BX_RESIZE_IMAGE_EXACT, false);
        echo '<img alt="'.$arItem["NAME"].'" src="'.$renderImage["src"].'" />';
        ?>

<?//Упрощенный вариант без ресайза
<?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
  <a href="<?=$PHOTO["SRC"]?>" class="class">
    <img src="<?=$PHOTO["SRC"]?>" alt="<?=$arResult["NAME"]?>" class="img-responsive">
  </a>
<?endforeach;?>
?>
<?// или так
$renderImage = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"], Array("width" => 121, "height" => 121), BX_RESIZE_IMAGE_EXACT, true);
?>
<div class="review--item-icon">
	<?if ($arItem["PREVIEW_PICTURE"]["SRC"]):?>
		<?$renderImage = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"], Array("width" => 90, "height" => 90), BX_RESIZE_IMAGE_EXACT, true);?>
		<img src="<?=$renderImage["src"]?>">
	<?else:?>
		<i class="icon-boy-broad-smile"></i>
	<?endif;?>
</div>
<? // логику работы пишем в файле result_modifier.php
  if($arResult["ITEMS"])
{
    foreach($arResult["ITEMS"] as $key => &$arItem)
    {
        $picture = $arItem['PREVIEW_PICTURE'];
        if(!$picture)
            $picture = $arItem['DETAIL_PICTURE'];

        if($picture)
        {
            $arFileTmp = CFile::ResizeImageGet(
                 $picture,
                 array('width' => 170, 'height' => 170),
                 BX_RESIZE_IMAGE_PROPORTIONAL_ALT,
                 true
            );

            if($arFileTmp['src'])
                $arFileTmp['src'] = CUtil::GetAdditionalFileURL($arFileTmp['src'], true);

            $arItem['PICTURE'] = array_change_key_case($arFileTmp, CASE_UPPER);
        }
    }
}
?>

<? //Изображение товара выводим в template.php 
  <? if($arPicture = $arItem['PICTURE']): ?>
  <a href="<?=$arItem['DETAIL_PAGE_URL']?>"><img
       src="<?=$arPicture['SRC']?>"
       width="<?=$arPicture['WIDTH']?>"
       height="<?=$arPicture['HEIGHT']?>"
       alt="<?=$arItem['NAME']?>"
       title="<?=$arItem['NAME']?>"></a>
<? endif; ?>
?>