/** * getGroupBrands() - get clean group of brands from active sections of root * $IBLOCK_ID - id * $SECTION_ID - false->all active categories, true->it depends from $_REQUEST */ public static function getGroupBrands($IBLOCK_ID, $SECTION_ID = false, $idSecReq = false) { if (CModule::IncludeModule("iblock")) { if ($SECTION_ID == false) { $SECTION_ID = sest::getActiveSectionIDs(IBLOCK_ID_PRODUCTS); //all } else { $SECTION_ID = array($_REQUEST[$idSecReq]); } $resDB = CIBlockElement::GetList(array("SORT" => "ASC"), array('IBLOCK_ID' => $IBLOCK_ID, 'ACTIVE' => 'Y', 'SECTION_ID' => $SECTION_ID), false, false, array('ID', 'NAME', 'PROPERTY_BRAND')); $arProdBrands = array(); while ($res = $resDB->fetch()) { $arProdBrands[$res['PROPERTY_BRAND_ENUM_ID']] = $res['PROPERTY_BRAND_VALUE']; } return array_unique($arProdBrands); } }
<?php //Подгрузка каталога после изменения бренда + категории if (sest::checkGET('brandName') && isset($_GET['categId']) && sest::checkGET('brandId')) { if (CModule::IncludeModule("iblock")) { global $APPLICATION; $APPLICATION->RestartBuffer(); $brandName = trim($_GET['brandName']); $categId = (int) trim($_GET['categId']); $brandId = (int) trim($_GET['brandId']); if ($brandId !== 1) { global $arrFilterSection2; $arrFilterSection2 = sest::setCatFilter('BRAND', $brandName); } $APPLICATION->IncludeComponent("sest:catalog.section", "", array("IBLOCK_TYPE_ID" => "catalog", "IBLOCK_ID" => IBLOCK_ID_PRODUCTS, "BASKET_URL" => "/personal/cart/", "COMPONENT_TEMPLATE" => "", "IBLOCK_TYPE" => "catalog", "SECTION_ID" => $categId !== 1 ? $categId : '', "SECTION_CODE" => "", "SECTION_USER_FIELDS" => array(0 => "", 1 => ""), "ELEMENT_SORT_FIELD" => "sort", "ELEMENT_SORT_ORDER" => "desc", "ELEMENT_SORT_FIELD2" => "id", "ELEMENT_SORT_ORDER2" => "desc", "FILTER_NAME" => "arrFilterSection2", "INCLUDE_SUBSECTIONS" => "Y", "SHOW_ALL_WO_SECTION" => "Y", "HIDE_NOT_AVAILABLE" => "N", "PAGE_ELEMENT_COUNT" => "16", "LINE_ELEMENT_COUNT" => "4", "PROPERTY_CODE" => array(0 => "", 1 => ""), "OFFERS_FIELD_CODE" => array(0 => "", 1 => ""), "OFFERS_PROPERTY_CODE" => array(0 => "COLOR_REF", 1 => "SIZES_SHOES", 2 => "SIZES_CLOTHES", 3 => ""), "OFFERS_SORT_FIELD" => "sort", "OFFERS_SORT_ORDER" => "desc", "OFFERS_SORT_FIELD2" => "id", "OFFERS_SORT_ORDER2" => "desc", "OFFERS_LIMIT" => "5", "TEMPLATE_THEME" => "site", "PRODUCT_DISPLAY_MODE" => "Y", "ADD_PICT_PROP" => "MORE_PHOTO", "LABEL_PROP" => "-", "OFFER_ADD_PICT_PROP" => "-", "OFFER_TREE_PROPS" => array(), "PRODUCT_SUBSCRIPTION" => "N", "SHOW_DISCOUNT_PERCENT" => "N", "SHOW_OLD_PRICE" => "Y", "SHOW_CLOSE_POPUP" => "N", "MESS_BTN_BUY" => "Купить", "MESS_BTN_ADD_TO_BASKET" => "В корзину", "MESS_BTN_SUBSCRIBE" => "Подписаться", "MESS_BTN_DETAIL" => "Подробнее", "MESS_NOT_AVAILABLE" => "Нет в наличии", "SECTION_URL" => "", "DETAIL_URL" => "", "SECTION_ID_VARIABLE" => "SECTION_ID", "SEF_MODE" => "N", "AJAX_MODE" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_ADDITIONAL" => "", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_GROUPS" => "Y", "SET_TITLE" => "Y", "SET_BROWSER_TITLE" => "Y", "BROWSER_TITLE" => "-", "SET_META_KEYWORDS" => "Y", "META_KEYWORDS" => "-", "SET_META_DESCRIPTION" => "Y", "META_DESCRIPTION" => "-", "SET_LAST_MODIFIED" => "N", "USE_MAIN_ELEMENT_SECTION" => "N", "ADD_SECTIONS_CHAIN" => "N", "CACHE_FILTER" => "N", "ACTION_VARIABLE" => "action", "PRODUCT_ID_VARIABLE" => "id", "PRICE_CODE" => array(0 => "BASE"), "USE_PRICE_COUNT" => "N", "SHOW_PRICE_COUNT" => "1", "PRICE_VAT_INCLUDE" => "Y", "CONVERT_CURRENCY" => "Y", "USE_PRODUCT_QUANTITY" => "N", "PRODUCT_QUANTITY_VARIABLE" => "", "ADD_PROPERTIES_TO_BASKET" => "Y", "PRODUCT_PROPS_VARIABLE" => "prop", "PARTIAL_PRODUCT_PROPERTIES" => "N", "PRODUCT_PROPERTIES" => array(), "OFFERS_CART_PROPERTIES" => array(), "ADD_TO_BASKET_ACTION" => "ADD", "PAGER_TEMPLATE" => "round", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "N", "PAGER_TITLE" => "Товары", "PAGER_SHOW_ALWAYS" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "PAGER_BASE_LINK_ENABLE" => "N", "SET_STATUS_404" => "N", "SHOW_404" => "N", "MESSAGE_404" => "", "BACKGROUND_IMAGE" => "-", "CURRENCY_ID" => "USD", "DISABLE_INIT_JS_IN_COMPONENT" => "N"), false); } } ?> <?php //без провайдера $arFields = array("PRODUCT_ID" => $pid, "PRICE" => $ar_res['PRICES'][$arrPriceCodes[0]]['PRICE'], "CURRENCY" => "UAH", "QUANTITY" => $quantity, "LID" => LANG, "DELAY" => "N", "CAN_BUY" => "Y", "NAME" => $ar_res['NAME'], "PRODUCT_XML_ID" => $ar_res['XML_ID'], "CATALOG_XML_ID" => $iblockId['XML_ID'], "CALLBACK_FUNC" => "", "MODULE" => "catalog", "NOTES" => "", "DETAIL_PAGE_URL" => $ar_res['DETAIL_PAGE_URL'], "ORDER_ID" => $orderid); $arProps = array();
/** * checkUrl() - fundtion of checkout of url string * * $detString - symbol of seperation * $includeSymbol - symbol that include in url array * $countArUrl - count of element of url array */ public static function checkUrl($detString, $includeSymbol, $countArUrl) { $cUrl = sest::url(); $arUrl = explode($detString, $cUrl); $includeVal = in_array($includeSymbol, $arUrl); if ($includeVal && count($arUrl) > $countArUrl) { return true; } else { return false; } }