Дополнительные картинки в новостях Битрикс, почти фотогалерея.

RSS
[ Закрыто ] Дополнительные картинки в новостях Битрикс, почти фотогалерея.
 
Дополнительные картинки в новостях Битрикс, почти фотогалерея.

Частенько стоит задача, по мимо стандартных "Картинка для анонса" и "Детальная картинка", добавить возможность загрузки изображений в новости Битрикс. Чтобы вывести дополнительные картинки в bitrix:news изначально такой возможности не заложено. Исправим это, а заодно и превратим компоненит "Новости и статьи" в что-то вроде фотогалереи с эффектом fancybox и прокруткой картинок колесиком мышки.
 
Не забудте указать свойство MORE_PHOTO для вывода в детальной новости. Это делается в настройках компонента через публичную часть сайта:
 
Зашел по ссылке с примером, фотографии открываются в новом окне  :(
 
Цитата
Timur пишет:
Зашел по ссылке с примером, фотографии открываются в новом окне
Да, там владелец сайта что-то поломал, сайт не поддерживаю потому не знаю что. Можете вот тут посмотреть http://moto-hit.ru/252/8148/
 
Как с помощью функции CFILE::RESIZEIMAGEGET сделать вывод картинки превью и картинки полной новости ?
 
Цитата
Дмитрий Рунов пишет:
Как с помощью функции CFILE::RESIZEIMAGEGET сделать вывод картинки превью и картинки полной новости ?
Плохо представляю при каких условиях это может понадобиться, но попробуйте вместо t["PROPERTIES"]["MORE_PHOTO"]["VALUE"] указать ['DETAIL_PICTURE']['SRC'] - допускаю что не сработает, если однажды с чем-то таким столкнусь, допишу в записку. Но копать примерно в эту сторону
 
Добрый  день,  не могу найти файл  result_modifier.php
 
Цитата
Александр пишет:
Добрый день, не могу найти файл result_modifier.php
Если его нет-то нужно создать вручную
 
Почему мой вопрос удалили?
 
Цитата
Александр пишет:
Почему мой вопрос удалили?
Удалил по причине плохой постановки вопроса. Данный метод рабочий, реализован и проверен мной на нескольких проектах. Видимо Вы где-то ошибаетесь в реализации. Подсказать я Вам не смогу, так как Вы не дали ни полного описания своей реализации ни более менее подробного описания задачи.
 
Цитата
Михаил Базаров пишет:
Цитата
Александр пишет:
Почему мой вопрос удалили?
Удалил по причине плохой постановки вопроса. Данный метод рабочий, реализован и проверен мной на нескольких проектах. Видимо Вы где-то ошибаетесь в реализации. Подсказать я Вам не смогу, так как Вы не дали ни полного описания своей реализации ни более менее подробного описания задачи.
Согласен, возможно я не правильно спросил, попробую еще,  у меня не получается вывести превьюшку на стр с детальной новостью, выводятся там только ссылки "загрузить", если пройти по нет то открывается на весь экран большое фото, в какую сторону копать?
 
Цитата
Гость сайта пишет:
Дополнительные картинки в новостях Битрикс, почти фотогалерея.
Весь вот этот код:
Код
<? 
// additional photos 
$LINE_ELEMENT_COUNT = 2; // number of elements in a row 
if(count($arResult["MORE_PHOTO"])>0):?> 
<a name="more_photo"></a> 
<?foreach($arResult["MORE_PHOTO"] as $PHOTO):?> 
   <img border="0" src="<?=$PHOTO["SRC"]?>"  />
<?endforeach?> 
<?endif?>  
 
как раз и отвечает за-то чтобы вместо загрузить выводилась картинка превью. Точнее они у вас вместе должны появиться. В итоге удаляете из шаблона news.detail кусочек который выводит "Загрузить" и оставляете только этот.

Рядом с template.php подробной новости создаете файл 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; 
         } 
      } 
?>  
 
Само собой если он уже  есть- то просто добавляете это в него.

Вот и все, а фансибокс или что-то другое это уже по вкусу.
 
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Дополнительные картинки в новостях Битрикс, почти фотогалерея.
Весь вот этот код:
Код
 <? 
// additional photos 
$LINE_ELEMENT_COUNT = 2; // number of elements in a row 
if(count($arResult["MORE_PHOTO"])>0):?> 
<a name="more_photo"></a> 
<?foreach($arResult["MORE_PHOTO"] as $PHOTO):?> 
   <img border="0" src="<?=$PHOTO["SRC"]?>"  />
<?endforeach?> 
<?endif?>  
  
как раз и отвечает за-то чтобы вместо загрузить выводилась картинка превью. Точнее они у вас вместе должны появиться. В итоге удаляете из шаблона news.detail кусочек который выводит "Загрузить" и оставляете только этот.

Рядом с template.php подробной новости создаете файл 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; 
         } 
      } 
?>  
  
Само собой если он уже есть- то просто добавляете это в него.

Вот и все, а фансибокс или что-то другое это уже по вкусу.
Большое спасибо за ответ, не внимательно читал инструкцию, и огромное спасибо за ваши видео уроки)
 
Добавляем в news.detail:"код скрипта fancybox"Я правильно понимаю, этот код нужно добавить в файл  template.php?
 
Код
Добавляем в news.detail:"код скрипта fancybox"Я правильно понимаю, этот код нужно добавить в файл template.php?
 
Да, прямо в верстку детальной новости. Не обязательно fancybox - у меня для примера, Более красиво получается hightslide- ом
 
Здравствуйте, спасибо за видеоуроки
У меня вот такой вопрос возник: мне необходимо вывести в списке новостей доп.свойство типа "файл", а точнее картинку (нужно для слайдера новостей), предложенный способ в Вашей статье для детальной новости не работает ( но в шаблоне детальной новости у меня работает). Не подскажете как можно это реализовать?
 
Цитата
Павел пишет:
Здравствуйте, спасибо за видеоуроки
У меня вот такой вопрос возник: мне необходимо вывести в списке новостей доп.свойство типа "файл", а точнее картинку (нужно для слайдера новостей), предложенный способ в Вашей статье для детальной новости не работает ( но в шаблоне детальной новости у меня работает). Не подскажете как можно это реализовать?
Данная инструкция для того и нжна, все работает в ней- только что на одном сайте это проделал
 
то есть данная инструкция подойдёт и для шаблона списка новостей?
 
Да, только вместо $arResult используйте $arItem
 
в Ваших кусках кода поменял $arResult на $arItem, но блин так  чуда и не произошло, свойство назвал также MORE_PHOTO, а картинки так и не появились
 
$arResult на $arItem нужно поменять и в файле шаблона, и в файле result_modifier.php ?
 
Везде
 
Простите, но что-то не выходит
Можно ещё поспрашиваю: вот если по шагам, то взял к примеру шаблон списка новостей, в папке шаблона создал файл result_modifier.php с кодом:
Код
<? 
$arItem["MORE_PHOTO"] = array(); 
if(isset($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"])) 
{ 
foreach($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE) 
{ 
$FILE = CFile::GetFileArray($FILE); 
if(is_array($FILE)) 
$arItem["MORE_PHOTO"][]=$FILE; 
} 
} 
?>
 
в файл шаблона добавил код из статьи, приведу весь код шаблона:
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="news-list">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
   <?=$arResult["NAV_STRING"]?><br />
<?endif;?>
<?foreach($arResult["ITEMS"] as $arItem):?>
   <?
   $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
   $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
   ?>
    
   <div class="news-item" id="<?=$this->GetEditAreaId($arItem['ID']);?>">
      
        <?if($arParams["DISPLAY_PICTURE"]!="N" && is_array($arItem["PREVIEW_PICTURE"])):?>
         <?if(!$arParams["HIDE_LINK_WHEN_NO_DETAIL"] || ($arItem["DETAIL_TEXT"] && $arResult["USER_HAVE_ACCESS"])):?>
            <a href="<?=$arItem["DETAIL_PAGE_URL"]?>"><img class="preview_picture" border="0" src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arItem["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arItem["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arItem["NAME"]?>" title="<?=$arItem["NAME"]?>"/></a>
         <?else:?>
            <img class="preview_picture" border="0" src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arItem["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arItem["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arItem["NAME"]?>" title="<?=$arItem["NAME"]?>" style="float:left" />
         <?endif;?>
      <?endif?>
        
      <?if($arParams["DISPLAY_DATE"]!="N" && $arItem["DISPLAY_ACTIVE_FROM"]):?>
         <span class="news-date-time"><?echo $arItem["DISPLAY_ACTIVE_FROM"]?></span>
      <?endif?>
        
      <?if($arParams["DISPLAY_NAME"]!="N" && $arItem["NAME"]):?>
         <?if(!$arParams["HIDE_LINK_WHEN_NO_DETAIL"] || ($arItem["DETAIL_TEXT"] && $arResult["USER_HAVE_ACCESS"])):?>
            <a href="<?echo $arItem["DETAIL_PAGE_URL"]?>"><b><?echo $arItem["NAME"]?></b></a><br />
         <?else:?>
            <b><?echo $arItem["NAME"]?></b><br />
         <?endif;?>
      <?endif;?>
        
      <?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?>
         <p><?echo $arItem["PREVIEW_TEXT"];?></p>
      <?endif;?>
        
      <?if($arParams["DISPLAY_PICTURE"]!="N" && is_array($arItem["PREVIEW_PICTURE"])):?>
         <div style="clear:both"></div>
      <?endif?>
        
<? 
// additional photos 
$LINE_ELEMENT_COUNT = 2; // number of elements in a row 
if(count($arItem["MORE_PHOTO"])>0):?> 
<?foreach($arItem["MORE_PHOTO"] as $PHOTO):?> 
<? $file = CFile::ResizeImageGet($PHOTO, array('width'=>150, 'height'=>'112'), BX_RESIZE_IMAGE_EXACT, true); ?> 
<div class="more_photo"> 
<a href="<?=$PHOTO["SRC"]?>" name="more_photo"> 
<img border="0" src="<?=$file["src"]?>" width="<?=$file["width"]?>" height="<?=$file["height"]?>" 
alt="<?=$arItem["NAME"]?>" title="<?=$arItem["NAME"]?>" /> 
</a> 
</div> 
<?endforeach?> 
<?endif?>

      <?foreach($arItem["FIELDS"] as $code=>$value):?>
         <small>
         <?=GetMessage("IBLOCK_FIELD_".$code)?>:&nbsp;<?=$value;?>
         </small><br />
      <?endforeach;?>
        
      <?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
         <small>
         <?=$arProperty["NAME"]?>:&nbsp;
         <?if(is_array($arProperty["DISPLAY_VALUE"])):?>
            <?=implode("&nbsp;/&nbsp;", $arProperty["DISPLAY_VALUE"]);?>
         <?else:?>
            <?=$arProperty["DISPLAY_VALUE"];?>
         <?endif?>
            
         </small><br />
      <?endforeach;?>
        
   </div>
<?endforeach;?>

<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
   <br /><?=$arResult["NAV_STRING"]?>
<?endif;?>
</div>
где может быть ошибка может подскажете?
 
Что сделать чтобы при загрузке на сервер картинок дополнительных они сжимались или обрезались (при загрузке).
Просто я загрузил картинки (хорошего качества), штук так 7-8 и новость не открывается её не возможно отредактировать.
Выскакивает ошибка Fatal error: Out of memory (allocated 109051904) (tried to allocate 13824 bytes)

Я думаю, что не хватает ресурсов хостинга. В php.ini мемори лимит стоял 64 метра, сейчас я поставил 128 - но не помогло.

Картинки большие.  
 
Цитата
Дмитрий пишет:
Что сделать чтобы при загрузке на сервер картинок дополнительных они сжимались или обрезались (при загрузке).
...
Воспользуйтесь API функцией CFile::ResizeImage
Более подробно в документации http://dev.1c-bitrix.ru/api_help/main/reference/cfile/resizeimageget.php
 
Отлично работает. Стоило бы чуть внести правки в материал, например там где говорится о внесении изменений в result_modifer.php уточнить, что его может и не быть))

А так, ОЧЕНЬ СПАСИБО ВАМ!!!)))
 
Цитата
Михаил Базаров пишет:
Цитата
Timur пишет:
Зашел по ссылке с примером, фотографии открываются в новом окне
Да, там владелец сайта что-то поломал, сайт не поддерживаю потому не знаю что. Можете вот тут посмотреть http://moto-hit.ru/252/8148/
К сожалению здесь тоже уже не работает, так же как и на сайте врача. Видимо тут какая-нибудь ошибка. Не могли же два заказчика поломать на двух сайтах именно фенси бокс?
 
Цитата
Денис пишет:
Цитата
Михаил Базаров пишет:
Да, там владелец сайта что-то поломал, сайт не поддерживаю потому не знаю что. Можете вот тут посмотреть http://moto-hit.ru/252/8148/
К сожалению здесь тоже уже не работает, так же как и на сайте врача. Видимо тут какая-нибудь ошибка. Не могли же два заказчика поломать на двух сайтах именно фенси бокс?
Что удивительно, как раз таки могут) Каждый заказчик пытается что-то поправить на сайте и делает только хууже. Этот сайт я поддерживаю- можете посмотреть, все отремонтировано ;)
 
Комментарий удален, ввиду... просто не понятно что имелось ввиду
 
Здравствуйте, вывожу дополнительные изображения в подробном описании новости, всё показывается, но титлы (альт)) одинаковые у всех, как сделать чтобы показывал нужное описание (на каждое изображение своё описание добавлять при добавлении картинки) таким образом:

название картинки 1
[изображение]


название картинки 2
[изображение]


Версия 1С-Битрикс: Управление сайтом 11.5.4.


Спасибо.
 
Цитата
Гость сайта пишет:
Здравствуйте, вывожу дополнительные изображения в подробном описании новости, всё показывается, но титлы (альт)) одинаковые у всех, как сделать чтобы показывал нужное описание (на каждое изображение своё описание добавлять при добавлении картинки) таким образом:

Для вывода описания картинки:

Код
<? echo $PHOTO["DESCRIPTION"]?>
 
 
Спасибо за урок. Правда по вашему методу не вышло, сделал проще.


Если просто вывести свойство в шаблоне news.detail/template.php
Код
<? echo $arResult['DISPLAY_PROPERTIES']['PHOTO']['DISPLAY_VALUE'];?> 
то фотку выдаст через ссылку "загрузить". Я подумал, что ссылка должна храниться в массиве и начал его ковырять.


После ковыряний я пришел к выводу, что так оно и есть. Ссылку на картинку можно получить так.
Код
<?=$arResult['DISPLAY_PROPERTIES']['PHOTO']['FILE_VALUE']['SRC']?> 


Ну а вывести саму картинку соответственно
Код
 <img src="<?=$arResult['DISPLAY_PROPERTIES']['PHOTO']['FILE_VALUE']['SRC']?>" alt="">


Дальше встала проблема с ресайзом, решил так
Код
<? $resizePHOTO2 = CFile::ResizeImageGet($arResult['DISPLAY_PROPERTIES']['PHOTO2']['FILE_VALUE'], array('width'=>'100', 'height'=>'100'), BX_RESIZE_IMAGE_EXACT, true); ?>
<img src="<?=$resizePHOTO2['src']?>" alt=""> 


Ну это я разобрал на примере с не множественным свойством. С множественным тоже самое по сути, только с циклами поиграться надо.
 
Код
Добрый день, в детальную все отлично выводится,  возможно ли вывести дополнительные фотографии не в детальном описании а в анонсе. Попробовала вставить result_modifier.php в news.list с кодом 

<? 
$arItem["MORE_PHOTO"] = array(); 
if(isset($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"])) 
{ 
foreach($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE) 
{ 
$FILE = CFile::GetFileArray($FILE); 
if(is_array($FILE)) 
$arItem["MORE_PHOTO"][]=$FILE; 
} 
} 
?>  


И туда же в news.list template.php прописала вроде как у вас в примере, сменила только на $arItem и DETAIL_PICTURE на PREVIEW_PICTURE... но ничего не добилась... может это вовсе не возможно?!

<? 
// additional photos 
$LINE_ELEMENT_COUNT = 2; // number of elements in a row 
if(count($arItem["MORE_PHOTO"])>0):?> 
<?foreach($arItem["MORE_PHOTO"] as $PHOTO):?> 
<? $file = CFile::ResizeImageGet($PHOTO, array('width'=>474, 'height'=>'300'), BX_RESIZE_IMAGE_EXACT, true); ?>

<div class="more_photo"> 
 
<a href="<?=$PHOTO["SRC"]?>" name="more_photo"><a rel="example_group" href="<?=$PHOTO["SRC"]?>" name="more_photo"  title="<?=(strlen($arItem["PREVIEW_PICTURE"]["DESCRIPTION"]) > 0 ? $arItem["PREVIEW_PICTURE"]["DESCRIPTION"] : $arItem["NAME"])?>">


<img border="0"  src="<?=$file["src"]?>" width="<?=$file["width"]?>" height="<?=$file["height"]?>" 
alt="<?=$arItem["NAME"]?>" title="<?=$arItem["NAME"]?>" /> 
</a> 

</div>

<?endforeach?> 
<?endif?> 
 
Подскажите пожалуйста, как вывести дополнительные картинки в анонс новости?
 
Цитата
Гость сайта пишет:
Подскажите пожалуйста, как вывести дополнительные картинки в анонс новости?
Все точно так же, просто вместо arItem, arElement
 
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Подскажите пожалуйста, как вывести дополнительные картинки в анонс новости?
Все точно так же, просто вместо arItem, arElement
При смене всех arItem на arElement почему то не выводится(
 
Подскажите пожалуйста, как вывести дополнительные картинки в анонс новости?
Пробовал менял arItem на arElement.

Битрикс только стал изучать может что-то не понимаю?
 
Михаил здравствуйте!
Подскажите пожалуйста,  у меня галерея реализована  по этой схеме. Но  при первом открытии, картинки открывается в новом окне, возвращаешься назад бэкспэйсом, начинает открываться нормально через fancybox, переходишь в другой раздел опять кликаешь по превьюшке, опять открывается одна эта картинка(по которой кликнул), опять бекспейс, вновь кликаешь открывается нормально через fancybox.
 
Цитата
Олег пишет:
Михаил здравствуйте!
Подскажите пожалуйста, у меня галерея реализована по этой схеме. Но при первом открытии, картинки открывается в новом окне, возвращаешься назад бэкспэйсом, начинает открываться нормально через fancybox, переходишь в другой раздел опять кликаешь по превьюшке, опять открывается одна эта картинка(по которой кликнул), опять бекспейс, вновь кликаешь открывается нормально через fancybox.
Скорее всего ошибка в подключении скриптов или кешировании.
 
Михаил, подскажите в каком направлении двигаться. чтобы в списке новостей вывести не доп. фото, а миниатюры фото списка со сменой детальной.  Как тут на риа новости http://ria.ru/photolents/20150507/1061150300.html
 
Цитата
Ярик пишет:
Михаил, подскажите в каком направлении двигаться. чтобы в списке новостей вывести не доп. фото, а миниатюры фото списка со сменой детальной. Как тут на риа новости http://ria.ru/photolents/20150507/1061150300.html
Используйте компонент "Фотагелерея 2.0" , если правильно понял это то что вам нужно
 
Спасибо Михаил. Просто хочу попробовать это сделать на списке новостей, вернее была такая идея, не нравится мне фото галерея Битрикс.
 
Добрый день пытаюсь вывести дополнительные картинки в  в news.list

в файле result_modifier.php
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); 
$arResult["MORE_PHOTO"] = array();   
 
foreach($arResult["ITEMS"] as $arItem):
 if(isset($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]))   
   {   
      foreach($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE)   
      {   
         $FILE = CFile::GetFileArray($FILE);   
         if(is_array($FILE))   
            $arResult["MORE_PHOTO"][]=$FILE;   
      }   
   } 
endforeach;
 
?>
 
в шаблоне

Код
<? // additional photos 
$LINE_ELEMENT_COUNT = 5; // number of elements in a row  
if(count($arResult["MORE_PHOTO"])>0):?>  
    <?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>  
        <? $file = CFile::ResizeImageGet($PHOTO, array('width'=>100, 'height'=>'100'), BX_RESIZE_IMAGE_EXACT, true); ?>  
            <div class="more_photo">  
                <a href="<?=$PHOTO["SRC"]?>" name="more_photo">  
                    <img class="kk" border="0" src="<?=$file["src"]?>" width="<?=$file["width"]?>" height="<?=$file["height"]?>"   
                        alt="<?=$arResult["NAME"]?>" title="<?=$arResult["NAME"]?>" />  
                </a>  
            </div>  
    <?endforeach?>  
<?endif?>
 
то  выводит вот так все картинки  но  не правильно.
 
Цитата
Евгений пишет:
Добрый день пытаюсь вывести дополнительные картинки в в news.list

в файле result_modifier.php
Код
 <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); 
$arResult["MORE_PHOTO"] = array();   
 
foreach($arResult["ITEMS"] as $arItem):
 if(isset($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]))   
   {   
      foreach($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE)   
      {   
         $FILE = CFile::GetFileArray($FILE);   
         if(is_array($FILE))   
            $arResult["MORE_PHOTO"][]=$FILE;   
      }   
   } 
endforeach;
 
?>
  
в шаблоне
Код
 <? // additional photos 
$LINE_ELEMENT_COUNT = 5; // number of elements in a row  
if(count($arResult["MORE_PHOTO"])>0):?>  
    <?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>  
        <? $file = CFile::ResizeImageGet($PHOTO, array('width'=>100, 'height'=>'100'), BX_RESIZE_IMAGE_EXACT, true); ?>  
            <div class="more_photo">  
                <a href="<?=$PHOTO["SRC"]?>" name="more_photo">  
                    <img class="kk" border="0" src="<?=$file["src"]?>" width="<?=$file["width"]?>" height="<?=$file["height"]?>"   
                        alt="<?=$arResult["NAME"]?>" title="<?=$arResult["NAME"]?>" />  
                </a>  
            </div>  
    <?endforeach?>  
<?endif?>
  
то выводит вот так все картинки но не правильно.
Попоробуйте код который вставляете в result_modifier.php вставить прямо в template.php до вызова картинок
 
Цитата
Михаил Базаров пишет:
Цитата
Евгений пишет:
Добрый день пытаюсь вывести дополнительные картинки в в news.list

в файле result_modifier.php
Код
  <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); 
$arResult["MORE_PHOTO"] = array();   
 
foreach($arResult["ITEMS"] as $arItem):
 if(isset($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]))   
   {   
      foreach($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE)   
      {   
         $FILE = CFile::GetFileArray($FILE);   
         if(is_array($FILE))   
            $arResult["MORE_PHOTO"][]=$FILE;   
      }   
   } 
endforeach;
 
?>
   
в шаблоне
Код
  <? // additional photos 
$LINE_ELEMENT_COUNT = 5; // number of elements in a row  
if(count($arResult["MORE_PHOTO"])>0):?>  
    <?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>  
        <? $file = CFile::ResizeImageGet($PHOTO, array('width'=>100, 'height'=>'100'), BX_RESIZE_IMAGE_EXACT, true); ?>  
            <div class="more_photo">  
                <a href="<?=$PHOTO["SRC"]?>" name="more_photo">  
                    <img class="kk" border="0" src="<?=$file["src"]?>" width="<?=$file["width"]?>" height="<?=$file["height"]?>"   
                        alt="<?=$arResult["NAME"]?>" title="<?=$arResult["NAME"]?>" />  
                </a>  
            </div>  
    <?endforeach?>  
<?endif?>
   
то выводит вот так все картинки но не правильно.
Попоробуйте код который вставляете в result_modifier.php вставить прямо в template.php до вызова картинок
код оставить в  result_modifier.php или поместить в шаблон выводит вот так.

http://s017.radikal.ru/i415/1505/78/7890ac6538fe.jpg


хотя у каждого из элементов только по 3 картинки  
 
Если делать так
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); 
$arResult["MORE_PHOTO"] = array();   
 
foreach($arResult["ITEMS"] as $arItem):
 if(isset($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"]))   
   {   
      foreach($arItem["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE)   
      {   
         $FILE = CFile::GetFileArray($FILE);   
         if(is_array($FILE))   
            $arResult["MORE_PHOTO"][$arItem["ID"]][]=$FILE;   
      }   
   } 
endforeach;
 
?>
 
то вывод такой http://s001.radikal.ru/i194/1505/cd/35f51f9dc0f1.jpg
 
Спасибо за статью, все работает, как убрать "Загрузить".
 
Есть ли какие-то ограничения со стороны битрикса на количество добалвенных фото к элементу?

Мне почему-то система не дает загрузить более 20 фотографий для 1 новости.
 
Цитата
Капитан пишет:
Есть ли какие-то ограничения со стороны битрикса на количество добалвенных фото к элементу?

Мне почему-то система не дает загрузить более 20 фотографий для 1 новости.
Попоробуйте загрузить 30 по 10 в три захода. У вас наверное ограничение на сервере/хостинге- за раз больше 4-х мегабайта не передать (обычно 4)
 
Привет!
Картинки выводит, но фанкибокс работает только если ты зашел как админ. Стоит разлогинится и картинки открываются в новом окне. Куда копать ?
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе