Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: result_modifier.php
Форумы портала PHP.SU » » CMS и фреймворки » result_modifier.php

Страниц (1): [1]
 

1. Yakuza - 23 Апреля, 2015 - 19:38:16 - перейти к сообщению
Помогите новичку. На сайте есть инфоблок result_modifier.php, выводит из каталога инфу на первую страницу. Выводит инфу : Каталог-гостиная-диваны, нужно сделать что бы выводил каталог-гостиная-диваны-список диванов.

PHP:
скопировать код в буфер обмена
  1. <?
  2. if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
  3.  
  4. // PRICE
  5. foreach($arResult['ITEMS'] as $k=>$arItem)
  6. {
  7.     if($arItem['PROPERTIES']['PRICE']['VALUE'])
  8.     {
  9.         $arItem['PRICE'] = CPortalTools::FormatCurrency($arItem['PROPERTIES']['PRICE']['VALUE']);
  10.     }
  11.  
  12.     // MORE_PHOTO
  13.     if($arItem['DETAIL_PICTURE']['ID'])
  14.     {
  15.         $arItem['PROPERTIES']['MORE_PHOTO']['VALUE'] = array_merge(array($arItem['DETAIL_PICTURE']['ID']), $arItem['PROPERTIES']['MORE_PHOTO']['VALUE']);
  16.     }
  17.  
  18.     $arItem['MORE_PHOTO_CNT'] = is_array($arItem['PROPERTIES']['MORE_PHOTO']['VALUE'])?count($arItem['PROPERTIES']['MORE_PHOTO']['VALUE']):0;
  19.  
  20.     if($arItem['MORE_PHOTO_CNT'])
  21.     {
  22.         foreach($arItem['PROPERTIES']['MORE_PHOTO']['VALUE'] as $ki=>$id)
  23.         {
  24.             $arFile = CFile::GetFileArray($id);
  25.  
  26.             $arImageResized = CFile::ResizeImageGet($arFile["ID"], Array("width" => 250, "height" => 270), BX_RESIZE_IMAGE_EXACT, true);
  27.  
  28.             $arItem['MORE_PHOTO'][] = array(
  29.                 'ID'=>$arFile['ID'],
  30.                 'SRC'=>$arImageResized['src'],
  31.                 'WIDTH'=>$arImageResized['width'],
  32.                 'HEIGHT'=>$arImageResized['height'],
  33.             );
  34.         }
  35.  
  36.         // MORE_PHOTO_PREVIEW
  37.         foreach($arItem['MORE_PHOTO'] as $arImage)
  38.         {
  39.             $arImageResized = CFile::ResizeImageGet($arImage["ID"], Array("width" => 80, "height" => 80), BX_RESIZE_IMAGE_EXACT, true);
  40.  
  41.             $arItem['MORE_PHOTO_PREVIEW'][] = array(
  42.                 'ID'=>$arImage['ID'],
  43.                 'SRC'=>$arImageResized['src'],
  44.                 'WIDTH'=>$arImageResized['width'],
  45.                 'HEIGHT'=>$arImageResized['height'],
  46.             );
  47.         }
  48.     }
  49.  
  50.     $arItem['STATUS'] = array(
  51.         'NEW' => $arItem['PROPERTIES']['NEW']['VALUE']?true:false,
  52.         'SALE' => $arItem['PROPERTIES']['SALE']['VALUE']?true:false,
  53.         'POPULAR' => $arItem['PROPERTIES']['POPULAR']['VALUE']?true:false,
  54.         'RECOMEND' => $arItem['PROPERTIES']['RECOMEND']['VALUE']?true:false,
  55.     );
  56.  
  57.     $arResult['ITEMS'][$k] = $arItem;
  58. }
  59.  
  60.  
  61. // SECTIONS
  62. $arResult['SECTIONS_EX'] = false;
  63.  
  64. $arSort = array("SORT"=>"ASC", "NAME"=>"ASC", );
  65. $arFilter = array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], 'GLOBAL_ACTIVE'=>'Y');
  66. $arSelect = array('IBLOCK_ID', 'ID', 'NAME', 'DEPTH_LEVEL', 'IBLOCK_SECTION_ID');
  67. $res = CIBlockSection::GetList($arSort, $arFilter, false, $arSelect, false);
  68. while($arFields = $res->GetNext())
  69. {
  70.     if($arFields['DEPTH_LEVEL'] == 1)
  71.     {
  72.         $arResult['SECTIONS_EX'][] = $arFields;
  73.     }
  74.  
  75.     $arResult['SECTIONS_EX_ALL'][] = $arFields;
  76.  
  77.     //print_r($arFields);
  78. }
  79.  
  80. foreach($arResult['SECTIONS_EX'] as $k=>$arSection)
  81. {
  82.     $arSection['CHILDRENS_IDS'] = array();
  83.  
  84.     foreach($arResult['SECTIONS_EX_ALL'] as $arSectionAll)
  85.     {
  86.         if($arSectionAll['IBLOCK_SECTION_ID'] == $arSection['ID'])
  87.         {
  88.             $arSection['CHILDRENS_IDS'][] = $arSectionAll['ID'];
  89.         }
  90.     }
  91.  
  92.     $arResult['SECTIONS_EX'][$k] = $arSection;
  93. }
  94.  
  95. foreach($arResult['SECTIONS_EX'] as $k=>$arSection)
  96. {
  97.     foreach($arResult['ITEMS'] as $arItem)
  98.     {
  99.         if($arItem['IBLOCK_SECTION_ID'] == $arSection['ID'] || in_array($arItem['IBLOCK_SECTION_ID'], $arSection['CHILDRENS_IDS']))
  100.         {
  101.             $arSection['ITEMS'][] = $arItem;
  102.         }
  103.     }
  104.  
  105.     $arSection['ITEMS_CNT'] = is_array($arSection['ITEMS'])?count($arSection['ITEMS']):0;
  106.  
  107.     $arResult['SECTIONS_EX'][$k] = $arSection;
  108. }
  109. ?>
  110.  

просто нуб в програмировании Радость если не сложно подскажите где править. Улыбка
Спасибо))

 

Powered by ExBB FM 1.0 RC1