Advertisement
Guest User

Untitled

a guest
May 27th, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.36 KB | None | 0 0
  1. <? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
  2.  
  3. $res = CIBlockSection::GetList(array("SORT"=>"ASC"),array('ID' => $arResult['ID'], 'IBLOCK_ID' => 5),false,array('UF_S_DESCRIPTION'),false);
  4. if($ar_res = $res->GetNext())
  5. {
  6.     $uf_id = $ar_res['UF_S_DESCRIPTION'];
  7. }
  8.  
  9. $res = CIBlockElement::GetByID($uf_id);
  10. if($ar_res = $res->GetNext())
  11. {
  12.     $arResult['SECTION_DESCRIPTION'] = array('PREVIEW_DESCRIPTION' => $ar_res['PREVIEW_TEXT'],'SEO_DESCRIPTION' => $ar_res['DETAIL_TEXT']);
  13. }
  14. ?>
  15. <?$cp = $this->__component;
  16. if (is_object($cp)){
  17.  
  18.     $arParams =& $cp->arParams;
  19.     $arResult =& $cp->arResult;
  20.  
  21.  
  22.     /*if (empty($arParams["ELEMENT_SORT_FIELD2"]))
  23.         $arParams["ELEMENT_SORT_FIELD2"] = "id";
  24.     if (!preg_match('/^(asc|desc|nulls)(,asc|,desc|,nulls){0,1}$/i', $arParams["ELEMENT_SORT_ORDER2"]))
  25.         $arParams["ELEMENT_SORT_ORDER2"] = "desc";*/
  26.  
  27.  
  28.     //// 1) данные из *::GetList()
  29.  
  30.     //// 0) пути
  31.     if(strlen($arParams['PATH']['VARIABLES']['SECTION_CODE'])){
  32.         $res = CIBlockSection::GetList(false, array('CODE' => $arParams['PATH']['VARIABLES']['SECTION_CODE']));
  33.         $res->SetURLTemplates();
  34.         $arResult['SECTION'] = $res->GetNext();
  35.         $arResult['AJAX_PATH'] = $arResult['SECTION']['SECTION_PAGE_URL'];
  36.     }else
  37.         $arResult['AJAX_PATH'] = $arParams['PATH']['FOLDER'];
  38.  
  39.     //// 2) цены
  40.     CModule::IncludeModule('sale');
  41.     //$arResult['MAX_PRICE'] = CStockUtils::GetMaxPriceForSection($arResult['SECTION']['CODE']);
  42.  
  43. $arResult['MAX_PRICE'] = CStockUtils::GetMaxPriceForSection($arResult['ID']);
  44.  
  45. //print_r($arResult['MAX_PRICE']);
  46.  
  47.     $brands = array();
  48.     $ids = array();
  49.     foreach ($arResult["ITEMS"]  as $item)
  50.     {
  51.         $ids[] = $item['ID'];
  52.         if (intval($item["PROPERTY_BRAND_VALUE"]))
  53.         {
  54.             $brands[] = $item["PROPERTY_BRAND_VALUE"];
  55.         }
  56.  
  57.     //// 1.2) SKU
  58.     $idsRev = array_flip($ids);
  59.     $res = CIBlockElement::GetList(false, array('IBLOCK_ID' => 9, 'ACTIVE' => 'Y', '!SECTION_CODE' => $GLOBALS['sectionImportedSKU'], 'PROPERTY_SHOW_ACTIVE' => $GLOBALS['sku_sa_enum']/* /bitrix/bx_macros/site.php */), false, false, array('ID', 'PROPERTY_COLOR', 'PROPERTY_SIZE', 'PROPERTY_CML2_LINK'));
  60.     $colors = array();
  61.     $sizes = array();
  62.     $sizesIndex = array();
  63.     $skuIds = array();
  64.     while($item = $res->Fetch()){
  65.         // все размеры
  66.         //echo "<pre>";var_dump($item);echo "</pre>";
  67.         if(intval($item['PROPERTY_SIZE_VALUE']))
  68.             $sizes[] = $item['PROPERTY_SIZE_VALUE'];
  69.  
  70.         // только нужные SKU
  71.         if(isset($idsRev[$item['PROPERTY_CML2_LINK_VALUE']])){
  72.             $arResult['SKU'][$item['ID']] = $item;
  73.             // $GLOBALS['noColorId'] в файле /bitrix/bx_macros/site.php
  74.             if(intval($item['PROPERTY_COLOR_VALUE']) && $GLOBALS['noColorId'] != $item['PROPERTY_COLOR_VALUE'])
  75.                 $colors[] = $item['PROPERTY_COLOR_VALUE'];
  76.             $skuIds[] = $item['ID'];
  77.             $sizesIndex[] = $item['PROPERTY_SIZE_VALUE'];
  78.         }
  79.     }
  80.          /*echo "coloooors<br>";
  81.      var_dump($colors);*/
  82.     $arResult['SIZES']['ITEMS'] = array_unique($sizes);
  83.     sort($arResult['SIZES']['ITEMS'], SORT_NUMERIC);
  84.  
  85.     $arResult['SIZES']['INDEX'] = array_unique($sizesIndex);
  86.     sort($arResult['SIZES']['INDEX'], SORT_NUMERIC);
  87.  
  88.     //_print_r($arResult['SIZES']['INDEX'], true);
  89.  
  90.     //// 1.3) бренды. выбираем все, потому что их немного и потому что ещё не весь список брендов известен
  91.     //if (isset($_GET['brand'])) {
  92.     //  $_REQUEST['props']['BRAND'] = $_GET['brand'];
  93.     //} else {
  94.     $arResult['BRANDS']['INDEX'] = array_unique($brands);
  95.     //}
  96.     $res = CIBlockElement::GetList(array('SORT' => 'ASC', 'NAME' => 'ASC'), array('IBLOCK_ID' => 11, 'ACTIVE' => 'Y'), false, false, array('ID', 'NAME'));
  97.     while($item = $res->Fetch())
  98.         $arResult['BRANDS']['ITEMS'][$item['ID']] = $item;
  99.  
  100.     //// 1.4) цвета. выбираем все, потому что их немного и потому что ещё не весь список цветов известен
  101.     $arResult['COLORS']['INDEX'] = array_unique($colors); //print_r($arResult['COLORS']['INDEX']); die("lfq cerf wdtnf k.lzv!!!");
  102.     $res = CIBlockElement::GetList(false, array('IBLOCK_ID' => 10, 'ACTIVE' => 'Y'), false, false, array('ID', 'NAME', 'PROPERTY_HEX'));
  103.     while($item = $res->Fetch())
  104.         if($GLOBALS['noColorId'] != $item['ID'])
  105.             $arResult['COLORS']['ITEMS'][$item['ID']] = $item;
  106.  
  107.     }
  108.     /*
  109.     $res = CIBlockElement::GetByID(5472);
  110.     $res = $res->Fetch();
  111.     _print_r($res);
  112.     */
  113.     /*
  114.     $priceItems = CPrice::GetListEx(array('PRICE' => 'DESC'), array('PRODUCT_ID' => array_merge($ids, $skuIds)));
  115.     while($pr = $priceItems->Fetch())
  116.         _print_r($pr['ID'].' '.$pr['PRICE']);
  117.     */
  118.  
  119. //add description of section
  120.     $res = CIBlockSection::GetList(array("SORT"=>"ASC"),array('CODE' => $arParams["PATH"]["VARIABLES"]["SECTION_CODE"], 'IBLOCK_ID' => 5),false,array('UF_S_DESCRIPTION'),false);
  121.     if($ar_res = $res->GetNext())
  122.     {
  123.         $uf_id = $ar_res['UF_S_DESCRIPTION'];
  124.         $arResult['SECTION_ID'] = $ar_res['ID'];
  125.     }
  126.  
  127.     $res = CIBlockElement::GetByID($uf_id);
  128.     if($ar_res = $res->GetNext())
  129.     {
  130.         $arResult['SECTION_DESCRIPTION'] = array('PREVIEW_DESCRIPTION' => $ar_res['PREVIEW_TEXT'],'SEO_DESCRIPTION' => $ar_res['DETAIL_TEXT']);
  131.     }
  132.  
  133.     $arResult["H2_TAG"] = $GLOBALS["APPLICATION"]->GetProperty("h2");
  134.  
  135.     $cp->SetResultCacheKeys(array('ITEMS', 'BRANDS', 'SKU', 'COLORS', 'SIZES', 'MAX_PRICE', 'SECTION', 'AJAX_PATH', 'H2_TAG', 'SECTION_ID',  'NAVIGATION', 'NAV_STRING'));
  136.  
  137.     //_print_r($arResult, true);
  138. }
  139. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement