Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Элемент каталога детально

00 голосов
1
Итак надоело лазить по форуму и бороться с техподдержкой, может кто-то внятно обрисует ситуацию, есть шаблон вывода карточки товара, на ней можно опубликовать че угодно касаемо этого товара, а точнее категории товара, все задается инфоблоком,
главные поля это стандартный вывод битрикса, 
это наименование товара
картинка
цена
описание

отсюда:
картинка может быть двух видов первая это та что публикуется в анонсе, т.е. в листинге товаров категории, и оригинальная бо'льшая картинка.
последняя версия системы управления сайтом битрикс позволяет открывать на странице детальной информации картинку по клику, т.е. отображается картинка малого размера, smallpic.jpg, а fancybox подгружает bigpic.jpg, либо на странице детальной информации о товаре публикуется bigpic.jpg только меньшего размера, ресайз картинки достигается средствами компонента
ВОТ ТЕПЕРЬ ВОПРОС
дайте ктонибуть нормальный шаблон вывода этих картинок
Выложите сюды {code} {/code} ктонить шаблон отвечающий за вывод изображения small и big 

И файл result_modifier.php

Мой шаблон вывода картинок таков:
Код
<?if (is_array($arResult['PREVIEW_PICTURE']) || count($arResult["MORE_PHOTO"])>0):?>
<sc ript type="text/javascript">
$(f unction() {
   $('div.catalog-detail-image a').fancybox({
      'transitionIn': 'elastic',
      'transitionOut': 'elastic',
      'speedIn': 600,
      'speedOut': 200,
      'overlayShow': false,
      'cyclic' : true,
      'padding': 20,
      'titlePosition': 'over',
      'onComplete': f unction() {
         $("#fancybox-title").css({ 'top': '100%', 'bottom': 'auto' });
      } 
   });
});
</sc ript>
<?endif;?> 

<div class="catalog-detail" itemscope itemtype = "http://schema.org/Product">
   <table class="catalog-detail" cellspacing="0">
      <tr>
           
      <?if (is_array($arResult['PREVIEW_PICTURE']) || count($arResult["MORE_PHOTO"])>0):?>
         <td class="catalog-detail-image">
         <?if (is_array($arResult['PREVIEW_PICTURE'])):?>
            <div class="catalog-detail-image" id="catalog-detail-main-image">
               <a rel="catalog-detail-images" href="<?=$arResult['DETAIL_PICTURE']['SRC']?>" title="<?=(strlen($arResult["DETAIL_PICTURE"]["DESCRIPTION"]) > 0 ? $arResult["DETAIL_PICTURE"]["DESCRIPTION"] : $arResult["NAME"])?>"><img itemprop="image" src="<?=$arResult['PREVIEW_PICTURE']['SRC']?>" alt="<?=$arResult["NAME"]?>" id="catalog_detail_image" width="<?=$arResult['PREVIEW_PICTURE']["WIDTH"]?>" height="<?=$arResult['PREVIEW_PICTURE']["HEIGHT"]?>" /></a>
            </div>
         <?endif;?>
            <div class="catalog-detail-images">
         <?if(count($arResult["MORE_PHOTO"])>0):
            foreach($arResult["MORE_PHOTO"] as $PHOTO):
         ?>
            <div class="catalog-detail-image"><a rel="catalog-detail-images" href="<?=$PHOTO["SRC"]?>" title="<?=(strlen($PHOTO["DESCRIPTION"]) > 0 ? $PHOTO["DESCRIPTION"] : $arResult["NAME"])?>"><img border="0" src="<?=$PHOTO["SRC_PREVIEW"]?>" width="<?=$PHOTO["PREVIEW_WIDTH"]?>" height="<?=$PHOTO["PREVIEW_HEIGHT"]?>" alt="<?=$arResult["NAME"]?>" /></a></div>
         <?
            endforeach;
         endif?>

            </div>
         </td>
      <?endif;?>


и result_modifier.php таков

Код
if(is_array($arResult["DETAIL_PICTURE"]))
{
   $arFilter = '';
   if($arParams["SHARPEN"] != 0)
   {
      $arFilter = array(array("name" => "sharpen", "precision" => $arParams["SHARPEN"]));
   }
   $arFileTmp = CFile::ResizeImageGet(
      $arResult['DETAIL_PICTURE'],
      array("width" => $arParams["DISPLAY_DETAIL_IMG_WIDTH"], "height" => $arParams["DISPLAY_DETAIL_IMG_HEIGHT"]),
      BX_RESIZE_IMAGE_PROPORTIONAL,
      true, $arFilter
   );

   $arResult['PREVIEW_PICTURE'] = array(
      'SRC' => $arFileTmp["src"],
      'WIDTH' => $arFileTmp["width"],
      'HEIGHT' => $arFileTmp["height"],
   );
}

if (is_array($arResult['MORE_PHOTO']) && count($arResult['MORE_PHOTO']) > 0)
{
   unset($arResult['DISPLAY_PROPERTIES']['MORE_PHOTO']);

   foreach ($arResult['MORE_PHOTO'] as $key => $arFile)
   {
      $arFilter = '';
      if($arParams["SHARPEN"] != 0)
      {
         $arFilter = array(array("name" => "sharpen", "precision" => $arParams["SHARPEN"]));
      }
      $arFileTmp = CFile::Re
спросил 29 Март, 14 от Crazy1990 (160 баллов)

1 Ответ

00 голосов
вот это $arParams["DISPLAY_MORE_PHOTO_WIDTH"] и это $arParams["DISPLAY_MORE_PHOTO_HEIGHT"] - это размеры которые задаются в параметрах комплексного компонента , если такого нет просто добавь в детальный такие же свойства с нужными разрешениями
ответил 06 Окт, 14 от Amentet (2,080 баллов)

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

0 голосов
4 ответов
спросил 30 Янв, 14 от Warder (120 баллов)
0 голосов
3 ответов
спросил 19 Июнь, 13 от Grieshnak (120 баллов)
0 голосов
7 ответов
0 голосов
3 ответов
спросил 15 Фев, 14 от Sinyor (100 баллов)
0 голосов
4 ответов