%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/sale.basket.basket/templates/.default/ |
Current File : //home/bitrix/www/bitrix/components/bitrix/sale.basket.basket/templates/.default/.parameters.php |
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) die(); use Bitrix\Main\Loader; use Bitrix\Catalog; use Bitrix\Iblock; use Bitrix\Main\Web\Json; CBitrixComponent::includeComponentClass($componentName); $arTemplateParameters['COLUMNS_LIST_MOBILE'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_COLUMNS_LIST_MOBILE'), 'TYPE' => 'LIST', 'COLS' => 25, 'SIZE' => 7, 'MULTIPLE' => 'Y', ); $themes = array(); if ($eshop = \Bitrix\Main\ModuleManager::isModuleInstalled('bitrix.eshop')) { $themes['site'] = GetMessage('CP_SBB_TPL_THEME_SITE'); } $themeList = array( 'blue' => GetMessage('CP_SBB_TPL_THEME_BLUE'), 'green' => GetMessage('CP_SBB_TPL_THEME_GREEN'), 'red' => GetMessage('CP_SBB_TPL_THEME_RED'), 'yellow' => GetMessage('CP_SBB_TPL_THEME_YELLOW') ); $dir = $_SERVER["DOCUMENT_ROOT"]."/bitrix/css/main/themes/"; if (is_dir($dir)) { foreach ($themeList as $themeId => $themeName) { if (!is_file($dir.$themeId.'/style.css')) continue; $themes[$themeId] = $themeName; } } $arTemplateParameters['DEFERRED_REFRESH'] = array( 'PARENT' => 'BASE', 'NAME' => GetMessage('CP_SBB_TPL_DEFERRED_REFRESH'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N' ); $arTemplateParameters['USE_DYNAMIC_SCROLL'] = array( 'PARENT' => 'BASE', 'NAME' => GetMessage('CP_SBB_TPL_USE_DYNAMIC_SCROLL'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arTemplateParameters['SHOW_FILTER'] = array( 'PARENT' => 'BASE', 'NAME' => GetMessage('CP_SBB_TPL_SHOW_FILTER'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arTemplateParameters['SHOW_RESTORE'] = array( 'PARENT' => 'BASE', 'NAME' => GetMessage('CP_SBB_TPL_SHOW_RESTORE'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arTemplateParameters['EMPTY_BASKET_HINT_PATH'] = [ 'PARENT' => 'ADDITIONAL_SETTINGS', "NAME" => GetMessage('CP_SBB_EMPTY_BASKET_HINT_PATH'), "TYPE" => "STRING", "DEFAULT" => "/" ]; $arTemplateParameters['TEMPLATE_THEME'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_TEMPLATE_THEME'), 'TYPE' => 'LIST', 'VALUES' => $themes, 'DEFAULT' => 'blue', 'ADDITIONAL_VALUES' => 'Y' ); $arTemplateParameters['TOTAL_BLOCK_DISPLAY'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_TOTAL_BLOCK_DISPLAY'), 'TYPE' => 'LIST', 'VALUES' => array( 'top' => GetMessage('CP_SBB_TPL_TOTAL_BLOCK_DISPLAY_TOP'), 'bottom' => GetMessage('CP_SBB_TPL_TOTAL_BLOCK_DISPLAY_BOTTOM') ), 'DEFAULT' => array('top'), 'MULTIPLE' => 'Y' ); $arTemplateParameters['DISPLAY_MODE'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_DISPLAY_MODE'), 'TYPE' => 'LIST', 'VALUES' => array( 'extended' => GetMessage('CP_SBB_TPL_DISPLAY_MODE_EXTENDED'), 'compact' => GetMessage('CP_SBB_TPL_DISPLAY_MODE_COMPACT') ), 'DEFAULT' => 'extended' ); $arTemplateParameters['PRICE_DISPLAY_MODE'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_PRICE_DISPLAY_MODE'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arTemplateParameters['SHOW_DISCOUNT_PERCENT'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_SHOW_DISCOUNT_PERCENT'), 'TYPE' => 'CHECKBOX', 'REFRESH' => 'Y', 'DEFAULT' => 'Y' ); if (!isset($arCurrentValues['SHOW_DISCOUNT_PERCENT']) || $arCurrentValues['SHOW_DISCOUNT_PERCENT'] === 'Y') { $arTemplateParameters['DISCOUNT_PERCENT_POSITION'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_DISCOUNT_PERCENT_POSITION'), 'TYPE' => 'CUSTOM', 'JS_FILE' => CBitrixBasketComponent::getSettingsScript($componentPath, 'position'), 'JS_EVENT' => 'initPositionControl', 'JS_DATA' => Json::encode( array( 'positions' => array( 'top-left', 'top-center', 'top-right', 'middle-left', 'middle-center', 'middle-right', 'bottom-left', 'bottom-center', 'bottom-right' ), 'className' => 'bx-pos-parameter-block-circle' ) ), 'DEFAULT' => 'bottom-right' ); } $arTemplateParameters['PRODUCT_BLOCKS_ORDER'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_PRODUCT_BLOCKS_ORDER'), 'TYPE' => 'CUSTOM', 'JS_FILE' => CBitrixBasketComponent::getSettingsScript($componentPath, 'dragdrop_order'), 'JS_EVENT' => 'initDraggableOrderControl', 'JS_DATA' => Json::encode(array( 'props' => GetMessage('CP_SBB_TPL_PRODUCT_BLOCK_PROPERTIES'), 'sku' => GetMessage('CP_SBB_TPL_PRODUCT_BLOCK_SKU'), 'columns' => GetMessage('CP_SBB_TPL_PRODUCT_BLOCK_COLUMNS') )), 'DEFAULT' => 'props,sku,columns' ); $arTemplateParameters['USE_PRICE_ANIMATION'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_USE_PRICE_ANIMATION'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arTemplateParameters['LABEL_PROP'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_LABEL_PROP'), 'TYPE' => 'LIST', 'MULTIPLE' => 'Y', 'ADDITIONAL_VALUES' => 'N', 'COLS' => 25, 'SIZE' => 7, 'REFRESH' => 'Y' ); if (!empty($arCurrentValues['LABEL_PROP'])) { $arTemplateParameters['LABEL_PROP_MOBILE'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_LABEL_PROP_MOBILE'), 'TYPE' => 'LIST', 'MULTIPLE' => 'Y', 'ADDITIONAL_VALUES' => 'N', 'COLS' => 25, 'SIZE' => 7, 'REFRESH' => 'N', ); $arTemplateParameters['LABEL_PROP_POSITION'] = array( 'PARENT' => 'VISUAL', 'NAME' => GetMessage('CP_SBB_TPL_LABEL_PROP_POSITION'), 'TYPE' => 'CUSTOM', 'JS_FILE' => CBitrixBasketComponent::getSettingsScript($componentPath, 'position'), 'JS_EVENT' => 'initPositionControl', 'JS_DATA' => Json::encode( array( 'positions' => array( 'top-left', 'top-center', 'top-right', 'middle-left', 'middle-center', 'middle-right', 'bottom-left', 'bottom-center', 'bottom-right' ), 'className' => '' ) ), 'DEFAULT' => 'top-left' ); } if (\Bitrix\Main\Loader::includeModule('catalog')) { $arSKU = false; $boolSKU = false; $arOfferProps = array(); $arSkuData = array(); // get iblock props from all catalog iblocks including sku iblocks $arSkuIblockIDs = array(); $iterator = \Bitrix\Catalog\CatalogIblockTable::getList(array( 'select' => array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID', 'SKU_PROPERTY_ID'), 'filter' => array('!=PRODUCT_IBLOCK_ID' => 0) )); while ($row = $iterator->fetch()) { $boolSKU = true; $arSkuIblockIDs[] = $row['IBLOCK_ID']; $arSkuData[$row['IBLOCK_ID']] = $row; } unset($row, $iterator); // iblock props $arProps = array(); foreach ($arSkuIblockIDs as $iblockID) { $dbProps = CIBlockProperty::GetList( array( "SORT"=>"ASC", "NAME"=>"ASC" ), array( "IBLOCK_ID" => $iblockID, "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "N", ) ); while ($arProp = $dbProps->GetNext()) { if ($arProp['ID'] == $arSkuData[$iblockID]["SKU_PROPERTY_ID"]) continue; if ($arProp['XML_ID'] == 'CML2_LINK') continue; $strPropName = '['.$arProp['ID'].'] '.('' != $arProp['CODE'] ? '['.$arProp['CODE'].']' : '').' '.$arProp['~NAME']; if ($arProp['PROPERTY_TYPE'] != 'F') { $arOfferProps[$arProp['CODE']] = $strPropName; } } if (!empty($arOfferProps) && is_array($arOfferProps)) { $arTemplateParameters['OFFERS_PROPS'] = array( 'PARENT' => 'OFFERS_PROPS', 'NAME' => GetMessage('CP_SBB_TPL_PROPERTIES_RECALCULATE_BASKET'), 'TYPE' => 'LIST', 'MULTIPLE' => 'Y', 'SIZE' => '7', 'ADDITIONAL_VALUES' => 'N', 'REFRESH' => 'N', 'DEFAULT' => '-', 'VALUES' => $arOfferProps ); } } } $arTemplateParameters['USE_ENHANCED_ECOMMERCE'] = array( 'PARENT' => 'ANALYTICS_SETTINGS', 'NAME' => GetMessage('CP_SBB_TPL_USE_ENHANCED_ECOMMERCE'), 'TYPE' => 'CHECKBOX', 'REFRESH' => 'Y', 'DEFAULT' => 'N' ); if (isset($arCurrentValues['USE_ENHANCED_ECOMMERCE']) && $arCurrentValues['USE_ENHANCED_ECOMMERCE'] === 'Y') { if (Loader::includeModule('catalog')) { $arIblockIDs = array(); $arIblockNames = array(); $catalogIterator = Catalog\CatalogIblockTable::getList(array( 'select' => array('IBLOCK_ID', 'NAME' => 'IBLOCK.NAME'), 'order' => array('IBLOCK_ID' => 'ASC') )); while ($catalog = $catalogIterator->fetch()) { $catalog['IBLOCK_ID'] = (int)$catalog['IBLOCK_ID']; $arIblockIDs[] = $catalog['IBLOCK_ID']; $arIblockNames[$catalog['IBLOCK_ID']] = $catalog['NAME']; } unset($catalog, $catalogIterator); if (!empty($arIblockIDs)) { $arProps = array(); $propertyIterator = Iblock\PropertyTable::getList(array( 'select' => array('ID', 'CODE', 'NAME', 'IBLOCK_ID'), 'filter' => array('@IBLOCK_ID' => $arIblockIDs, '=ACTIVE' => 'Y', '!=XML_ID' => CIBlockPropertyTools::XML_SKU_LINK), 'order' => array('IBLOCK_ID' => 'ASC', 'SORT' => 'ASC', 'ID' => 'ASC') )); while ($property = $propertyIterator->fetch()) { $property['ID'] = (int)$property['ID']; $property['IBLOCK_ID'] = (int)$property['IBLOCK_ID']; $property['CODE'] = (string)$property['CODE']; if ($property['CODE'] == '') { $property['CODE'] = $property['ID']; } if (!isset($arProps[$property['CODE']])) { $arProps[$property['CODE']] = array( 'CODE' => $property['CODE'], 'TITLE' => $property['NAME'].' ['.$property['CODE'].']', 'ID' => array($property['ID']), 'IBLOCK_ID' => array($property['IBLOCK_ID'] => $property['IBLOCK_ID']), 'IBLOCK_TITLE' => array($property['IBLOCK_ID'] => $arIblockNames[$property['IBLOCK_ID']]), 'COUNT' => 1 ); } else { $arProps[$property['CODE']]['ID'][] = $property['ID']; $arProps[$property['CODE']]['IBLOCK_ID'][$property['IBLOCK_ID']] = $property['IBLOCK_ID']; if ($arProps[$property['CODE']]['COUNT'] < 2) { $arProps[$property['CODE']]['IBLOCK_TITLE'][$property['IBLOCK_ID']] = $arIblockNames[$property['IBLOCK_ID']]; } $arProps[$property['CODE']]['COUNT']++; } } unset($property, $propertyIterator, $arIblockNames, $arIblockIDs); $propList = array(); foreach ($arProps as $property) { $iblockList = ''; if ($property['COUNT'] > 1) { $iblockList = ($property['COUNT'] > 2 ? ' ( ... )' : ' ('.implode(', ', $property['IBLOCK_TITLE']).')'); } $propList['PROPERTY_'.$property['CODE']] = $property['TITLE'].$iblockList; } unset($property, $arProps); } } $arTemplateParameters['DATA_LAYER_NAME'] = array( 'PARENT' => 'ANALYTICS_SETTINGS', 'NAME' => GetMessage('CP_SBB_TPL_DATA_LAYER_NAME'), 'TYPE' => 'STRING', 'DEFAULT' => 'dataLayer' ); if (!empty($propList)) { $arTemplateParameters['BRAND_PROPERTY'] = array( 'PARENT' => 'ANALYTICS_SETTINGS', 'NAME' => GetMessage('CP_SBB_TPL_BRAND_PROPERTY'), 'TYPE' => 'LIST', 'MULTIPLE' => 'N', 'DEFAULT' => '', 'VALUES' => array('' => '') + $propList ); } }