Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
- $res = CIBlockSection::GetList(array("SORT"=>"ASC"),array('ID' => $arResult['ID'], 'IBLOCK_ID' => 5),false,array('UF_S_DESCRIPTION'),false);
- if($ar_res = $res->GetNext())
- {
- $uf_id = $ar_res['UF_S_DESCRIPTION'];
- }
- $res = CIBlockElement::GetByID($uf_id);
- if($ar_res = $res->GetNext())
- {
- $arResult['SECTION_DESCRIPTION'] = array('PREVIEW_DESCRIPTION' => $ar_res['PREVIEW_TEXT'],'SEO_DESCRIPTION' => $ar_res['DETAIL_TEXT']);
- }
- ?>
- <?$cp = $this->__component;
- if (is_object($cp)){
- $arParams =& $cp->arParams;
- $arResult =& $cp->arResult;
- /*if (empty($arParams["ELEMENT_SORT_FIELD2"]))
- $arParams["ELEMENT_SORT_FIELD2"] = "id";
- if (!preg_match('/^(asc|desc|nulls)(,asc|,desc|,nulls){0,1}$/i', $arParams["ELEMENT_SORT_ORDER2"]))
- $arParams["ELEMENT_SORT_ORDER2"] = "desc";*/
- //// 1) данные из *::GetList()
- //// 0) пути
- if(strlen($arParams['PATH']['VARIABLES']['SECTION_CODE'])){
- $res = CIBlockSection::GetList(false, array('CODE' => $arParams['PATH']['VARIABLES']['SECTION_CODE']));
- $res->SetURLTemplates();
- $arResult['SECTION'] = $res->GetNext();
- $arResult['AJAX_PATH'] = $arResult['SECTION']['SECTION_PAGE_URL'];
- }else
- $arResult['AJAX_PATH'] = $arParams['PATH']['FOLDER'];
- //// 2) цены
- CModule::IncludeModule('sale');
- //$arResult['MAX_PRICE'] = CStockUtils::GetMaxPriceForSection($arResult['SECTION']['CODE']);
- $arResult['MAX_PRICE'] = CStockUtils::GetMaxPriceForSection($arResult['ID']);
- //print_r($arResult['MAX_PRICE']);
- $brands = array();
- $ids = array();
- foreach ($arResult["ITEMS"] as $item)
- {
- $ids[] = $item['ID'];
- if (intval($item["PROPERTY_BRAND_VALUE"]))
- {
- $brands[] = $item["PROPERTY_BRAND_VALUE"];
- }
- //// 1.2) SKU
- $idsRev = array_flip($ids);
- $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'));
- $colors = array();
- $sizes = array();
- $sizesIndex = array();
- $skuIds = array();
- while($item = $res->Fetch()){
- // все размеры
- //echo "<pre>";var_dump($item);echo "</pre>";
- if(intval($item['PROPERTY_SIZE_VALUE']))
- $sizes[] = $item['PROPERTY_SIZE_VALUE'];
- // только нужные SKU
- if(isset($idsRev[$item['PROPERTY_CML2_LINK_VALUE']])){
- $arResult['SKU'][$item['ID']] = $item;
- // $GLOBALS['noColorId'] в файле /bitrix/bx_macros/site.php
- if(intval($item['PROPERTY_COLOR_VALUE']) && $GLOBALS['noColorId'] != $item['PROPERTY_COLOR_VALUE'])
- $colors[] = $item['PROPERTY_COLOR_VALUE'];
- $skuIds[] = $item['ID'];
- $sizesIndex[] = $item['PROPERTY_SIZE_VALUE'];
- }
- }
- /*echo "coloooors<br>";
- var_dump($colors);*/
- $arResult['SIZES']['ITEMS'] = array_unique($sizes);
- sort($arResult['SIZES']['ITEMS'], SORT_NUMERIC);
- $arResult['SIZES']['INDEX'] = array_unique($sizesIndex);
- sort($arResult['SIZES']['INDEX'], SORT_NUMERIC);
- //_print_r($arResult['SIZES']['INDEX'], true);
- //// 1.3) бренды. выбираем все, потому что их немного и потому что ещё не весь список брендов известен
- //if (isset($_GET['brand'])) {
- // $_REQUEST['props']['BRAND'] = $_GET['brand'];
- //} else {
- $arResult['BRANDS']['INDEX'] = array_unique($brands);
- //}
- $res = CIBlockElement::GetList(array('SORT' => 'ASC', 'NAME' => 'ASC'), array('IBLOCK_ID' => 11, 'ACTIVE' => 'Y'), false, false, array('ID', 'NAME'));
- while($item = $res->Fetch())
- $arResult['BRANDS']['ITEMS'][$item['ID']] = $item;
- //// 1.4) цвета. выбираем все, потому что их немного и потому что ещё не весь список цветов известен
- $arResult['COLORS']['INDEX'] = array_unique($colors); //print_r($arResult['COLORS']['INDEX']); die("lfq cerf wdtnf k.lzv!!!");
- $res = CIBlockElement::GetList(false, array('IBLOCK_ID' => 10, 'ACTIVE' => 'Y'), false, false, array('ID', 'NAME', 'PROPERTY_HEX'));
- while($item = $res->Fetch())
- if($GLOBALS['noColorId'] != $item['ID'])
- $arResult['COLORS']['ITEMS'][$item['ID']] = $item;
- }
- /*
- $res = CIBlockElement::GetByID(5472);
- $res = $res->Fetch();
- _print_r($res);
- */
- /*
- $priceItems = CPrice::GetListEx(array('PRICE' => 'DESC'), array('PRODUCT_ID' => array_merge($ids, $skuIds)));
- while($pr = $priceItems->Fetch())
- _print_r($pr['ID'].' '.$pr['PRICE']);
- */
- //add description of section
- $res = CIBlockSection::GetList(array("SORT"=>"ASC"),array('CODE' => $arParams["PATH"]["VARIABLES"]["SECTION_CODE"], 'IBLOCK_ID' => 5),false,array('UF_S_DESCRIPTION'),false);
- if($ar_res = $res->GetNext())
- {
- $uf_id = $ar_res['UF_S_DESCRIPTION'];
- $arResult['SECTION_ID'] = $ar_res['ID'];
- }
- $res = CIBlockElement::GetByID($uf_id);
- if($ar_res = $res->GetNext())
- {
- $arResult['SECTION_DESCRIPTION'] = array('PREVIEW_DESCRIPTION' => $ar_res['PREVIEW_TEXT'],'SEO_DESCRIPTION' => $ar_res['DETAIL_TEXT']);
- }
- $arResult["H2_TAG"] = $GLOBALS["APPLICATION"]->GetProperty("h2");
- $cp->SetResultCacheKeys(array('ITEMS', 'BRANDS', 'SKU', 'COLORS', 'SIZES', 'MAX_PRICE', 'SECTION', 'AJAX_PATH', 'H2_TAG', 'SECTION_ID', 'NAVIGATION', 'NAV_STRING'));
- //_print_r($arResult, true);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement