%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/catalog.element/ |
Current File : //home/bitrix/www/bitrix/components/bitrix/catalog.element/.parameters.php |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); /** @var array $arCurrentValues */ use Bitrix\Main\Loader, Bitrix\Iblock, Bitrix\Catalog, Bitrix\Currency; if (!Loader::includeModule('iblock')) return; $catalogIncluded = Loader::includeModule('catalog'); $usePropertyFeatures = Iblock\Model\PropertyFeature::isEnabledFeatures(); $iblockExists = (!empty($arCurrentValues['IBLOCK_ID']) && (int)$arCurrentValues['IBLOCK_ID'] > 0); $arIBlockType = CIBlockParameters::GetIBlockTypes(); $offersIblock = array(); if ($catalogIncluded) { $iterator = Catalog\CatalogIblockTable::getList(array( 'select' => array('IBLOCK_ID'), 'filter' => array('!=PRODUCT_IBLOCK_ID' => 0) )); while ($row = $iterator->fetch()) $offersIblock[$row['IBLOCK_ID']] = true; unset($row, $iterator); } $arIBlock = array(); $iblockFilter = ( !empty($arCurrentValues['IBLOCK_TYPE']) ? array('TYPE' => $arCurrentValues['IBLOCK_TYPE'], 'ACTIVE' => 'Y') : array('ACTIVE' => 'Y') ); $rsIBlock = CIBlock::GetList(array('SORT' => 'ASC'), $iblockFilter); while ($arr = $rsIBlock->Fetch()) { $id = (int)$arr['ID']; if (isset($offersIblock[$id])) continue; $arIBlock[$id] = '['.$id.'] '.$arr['NAME']; } unset($id, $arr, $rsIBlock, $iblockFilter); unset($offersIblock); $arProperty = array(); $arProperty_LS = array(); $arProperty_N = array(); $arProperty_X = array(); $arProperty_F = array(); if ($iblockExists) { $propertyIterator = Iblock\PropertyTable::getList(array( 'select' => array('ID', 'IBLOCK_ID', 'NAME', 'CODE', 'PROPERTY_TYPE', 'MULTIPLE', 'LINK_IBLOCK_ID', 'USER_TYPE', 'SORT'), 'filter' => array('=IBLOCK_ID' => $arCurrentValues['IBLOCK_ID'], '=ACTIVE' => 'Y'), 'order' => array('SORT' => 'ASC', 'NAME' => 'ASC') )); while ($property = $propertyIterator->fetch()) { $propertyCode = (string)$property['CODE']; if ($propertyCode == '') $propertyCode = $property['ID']; $propertyName = '['.$propertyCode.'] '.$property['NAME']; if ($property['PROPERTY_TYPE'] != Iblock\PropertyTable::TYPE_FILE) { $arProperty[$propertyCode] = $propertyName; if ($property['MULTIPLE'] == 'Y') $arProperty_X[$propertyCode] = $propertyName; elseif ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_LIST) $arProperty_X[$propertyCode] = $propertyName; elseif ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_ELEMENT && (int)$property['LINK_IBLOCK_ID'] > 0) $arProperty_X[$propertyCode] = $propertyName; } else { if ($property['MULTIPLE'] == 'N') $arProperty_F[$propertyCode] = $propertyName; } if ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_LIST || $property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_STRING) $arProperty_LS[$propertyCode] = $propertyName; if ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_NUMBER) $arProperty_N[$propertyCode] = $propertyName; } unset($propertyCode, $propertyName, $property, $propertyIterator); } $offers = false; $arProperty_Offers = array(); $arProperty_OffersWithoutFile = array(); if ($catalogIncluded && $iblockExists) { $offers = CCatalogSku::GetInfoByProductIBlock($arCurrentValues['IBLOCK_ID']); if (!empty($offers)) { $propertyIterator = Iblock\PropertyTable::getList(array( 'select' => array('ID', 'IBLOCK_ID', 'NAME', 'CODE', 'PROPERTY_TYPE', 'MULTIPLE', 'LINK_IBLOCK_ID', 'USER_TYPE', 'SORT'), 'filter' => array('=IBLOCK_ID' => $offers['IBLOCK_ID'], '=ACTIVE' => 'Y', '!=ID' => $offers['SKU_PROPERTY_ID']), 'order' => array('SORT' => 'ASC', 'NAME' => 'ASC') )); while ($property = $propertyIterator->fetch()) { $propertyCode = (string)$property['CODE']; if ($propertyCode == '') $propertyCode = $property['ID']; $propertyName = '['.$propertyCode.'] '.$property['NAME']; $arProperty_Offers[$propertyCode] = $propertyName; if ($property['PROPERTY_TYPE'] != Iblock\PropertyTable::TYPE_FILE) $arProperty_OffersWithoutFile[$propertyCode] = $propertyName; } unset($propertyCode, $propertyName, $property, $propertyIterator); } } $arSort = CIBlockParameters::GetElementSortFields( array('SHOWS', 'SORT', 'TIMESTAMP_X', 'NAME', 'ID', 'ACTIVE_FROM', 'ACTIVE_TO'), array('KEY_LOWERCASE' => 'Y') ); $arPrice = array(); if ($catalogIncluded) { $arSort = array_merge($arSort, CCatalogIBlockParameters::GetCatalogSortFields()); if (isset($arSort['CATALOG_AVAILABLE'])) unset($arSort['CATALOG_AVAILABLE']); $arPrice = CCatalogIBlockParameters::getPriceTypesList(); } else { $arPrice = $arProperty_N; } $arIBlock_LINK = array(); $iblockFilter = ( !empty($arCurrentValues['LINK_IBLOCK_TYPE']) ? array('TYPE' => $arCurrentValues['LINK_IBLOCK_TYPE'], 'ACTIVE' => 'Y') : array('ACTIVE' => 'Y') ); $rsIblock = CIBlock::GetList(array('SORT' => 'ASC'), $iblockFilter); while ($arr = $rsIblock->Fetch()) $arIBlock_LINK[$arr['ID']] = '['.$arr['ID'].'] '.$arr['NAME']; unset($iblockFilter); $arProperty_LINK = array(); if (!empty($arCurrentValues['LINK_IBLOCK_ID']) && (int)$arCurrentValues['LINK_IBLOCK_ID'] > 0) { $propertyIterator = Iblock\PropertyTable::getList(array( 'select' => array('ID', 'IBLOCK_ID', 'NAME', 'CODE', 'PROPERTY_TYPE', 'MULTIPLE', 'LINK_IBLOCK_ID', 'USER_TYPE', 'SORT'), 'filter' => array('=IBLOCK_ID' => $arCurrentValues['LINK_IBLOCK_ID'], '=PROPERTY_TYPE' => Iblock\PropertyTable::TYPE_ELEMENT, '=ACTIVE' => 'Y'), 'order' => array('SORT' => 'ASC', 'NAME' => 'ASC') )); while ($property = $propertyIterator->fetch()) { $propertyCode = (string)$property['CODE']; if ($propertyCode == '') $propertyCode = $property['ID']; $arProperty_LINK[$propertyCode] = '['.$propertyCode.'] '.$property['NAME']; } unset($propertyCode, $property, $propertyIterator); } $arAscDesc = array( "asc" => GetMessage("IBLOCK_SORT_ASC"), "desc" => GetMessage("IBLOCK_SORT_DESC"), ); $arComponentParameters = array( "GROUPS" => array( "ACTION_SETTINGS" => array( "NAME" => GetMessage('IBLOCK_ACTIONS') ), "COMPARE" => array( "NAME" => GetMessage("IBLOCK_COMPARE") ), "PRICES" => array( "NAME" => GetMessage("IBLOCK_PRICES"), ), "BASKET" => array( "NAME" => GetMessage("IBLOCK_BASKET"), ), "LINK" => array( "NAME" => GetMessage("IBLOCK_LINK"), ), "GIFTS_SETTINGS" => array( "NAME" => GetMessage("SALE_T_DESC_GIFTS_SETTINGS"), ), "ANALYTICS_SETTINGS" => array( "NAME" => GetMessage("ANALYTICS_SETTINGS") ), "EXTENDED_SETTINGS" => array( "NAME" => GetMessage("IBLOCK_EXTENDED_SETTINGS"), "SORT" => 10000 ) ), "PARAMETERS" => array( "SEF_MODE" => array(), "SEF_RULE" => array( "VALUES" => array( "SECTION_ID" => array( "TEXT" => GetMessage("IBLOCK_SECTION_ID"), "TEMPLATE" => "#SECTION_ID#", "PARAMETER_LINK" => "SECTION_ID", "PARAMETER_VALUE" => '={$_REQUEST["SECTION_ID"]}', ), "SECTION_CODE" => array( "TEXT" => GetMessage("IBLOCK_SECTION_CODE"), "TEMPLATE" => "#SECTION_CODE#", "PARAMETER_LINK" => "SECTION_CODE", "PARAMETER_VALUE" => '={$_REQUEST["SECTION_CODE"]}', ), "SECTION_CODE_PATH" => array( "TEXT" => GetMessage("CP_BCE_SECTION_CODE_PATH"), "TEMPLATE" => "#SECTION_CODE_PATH#", "PARAMETER_LINK" => "SECTION_CODE_PATH", "PARAMETER_VALUE" => '={$_REQUEST["SECTION_CODE_PATH"]}', ), "ELEMENT_ID" => array( "TEXT" => GetMessage("IBLOCK_ELEMENT_ID"), "TEMPLATE" => "#ELEMENT_ID#", "PARAMETER_LINK" => "ELEMENT_ID", "PARAMETER_VALUE" => '={$_REQUEST["ELEMENT_ID"]}', ), "ELEMENT_CODE" => array( "TEXT" => GetMessage("IBLOCK_ELEMENT_CODE"), "TEMPLATE" => "#ELEMENT_CODE#", "PARAMETER_LINK" => "ELEMENT_CODE", "PARAMETER_VALUE" => '={$_REQUEST["ELEMENT_CODE"]}', ) ), ), "IBLOCK_TYPE" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_TYPE"), "TYPE" => "LIST", "VALUES" => $arIBlockType, "REFRESH" => "Y", ), "IBLOCK_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_IBLOCK"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock, "REFRESH" => "Y", ), "ELEMENT_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_ELEMENT_ID"), "TYPE" => "STRING", "DEFAULT" => '={$_REQUEST["ELEMENT_ID"]}', ), "ELEMENT_CODE" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_ELEMENT_CODE"), "TYPE" => "STRING", "DEFAULT" => '', ), "SECTION_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_SECTION_ID"), "TYPE" => "STRING", "DEFAULT" => '={$_REQUEST["SECTION_ID"]}', ), "SECTION_CODE" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_SECTION_CODE"), "TYPE" => "STRING", "DEFAULT" => '', ), "SECTION_URL" => CIBlockParameters::GetPathTemplateParam( "SECTION", "SECTION_URL", GetMessage("IBLOCK_SECTION_URL"), "", "URL_TEMPLATES" ), "DETAIL_URL" => CIBlockParameters::GetPathTemplateParam( "DETAIL", "DETAIL_URL", GetMessage("IBLOCK_DETAIL_URL"), "", "URL_TEMPLATES" ), "SECTION_ID_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_SECTION_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "SECTION_ID", ), "CHECK_SECTION_ID_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("CP_BCE_CHECK_SECTION_ID_VARIABLE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N" ), "SET_TITLE" => array(), "SET_CANONICAL_URL" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_SET_CANONICAL_URL"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "SET_BROWSER_TITLE" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_SET_BROWSER_TITLE"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y" ), "BROWSER_TITLE" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_BROWSER_TITLE"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-"=>" ", "NAME" => GetMessage("IBLOCK_FIELD_NAME")), $arProperty_LS), "HIDDEN" => (isset($arCurrentValues['SET_BROWSER_TITLE']) && $arCurrentValues['SET_BROWSER_TITLE'] == 'N' ? 'Y' : 'N') ), "SET_META_KEYWORDS" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_SET_META_KEYWORDS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y", ), "META_KEYWORDS" =>array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_KEYWORDS"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-"=>" "),$arProperty_LS), "HIDDEN" => (isset($arCurrentValues['SET_META_KEYWORDS']) && $arCurrentValues['SET_META_KEYWORDS'] == 'N' ? 'Y' : 'N') ), "SET_META_DESCRIPTION" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_SET_META_DESCRIPTION"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y" ), "META_DESCRIPTION" =>array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_DESCRIPTION"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-"=>" "),$arProperty_LS), "HIDDEN" => (isset($arCurrentValues['SET_META_DESCRIPTION']) && $arCurrentValues['SET_META_DESCRIPTION'] == 'N' ? 'Y' : 'N') ), "SET_LAST_MODIFIED" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_SET_LAST_MODIFIED"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "USE_MAIN_ELEMENT_SECTION" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_USE_MAIN_ELEMENT_SECTION"), "TYPE" => "CHECKBOX", "DEFAULT" => "N" ), "STRICT_SECTION_CHECK" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_STRICT_SECTION_CHECK"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "ADD_SECTIONS_CHAIN" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_ADD_SECTIONS_CHAIN"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "ADD_ELEMENT_CHAIN" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCE_ADD_ELEMENT_CHAIN"), "TYPE" => "CHECKBOX", "DEFAULT" => "N" ), "PROPERTY_CODE" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_PROPERTY"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty, "SIZE" => (count($arProperty) > 5 ? 8 : 3), "REFRESH" => isset($templateProperties['MAIN_BLOCK_PROPERTY_CODE']) ? "Y" : "N", "ADDITIONAL_VALUES" => "Y", ), "OFFERS_FIELD_CODE" => CIBlockParameters::GetFieldCode(GetMessage("CP_BCE_OFFERS_FIELD_CODE"), "VISUAL"), "OFFERS_PROPERTY_CODE" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("CP_BCE_OFFERS_PROPERTY_CODE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_Offers, "SIZE" => (count($arProperty_Offers) > 5 ? 8 : 3), "REFRESH" => isset($templateProperties['MAIN_BLOCK_OFFERS_PROPERTY_CODE']) ? "Y" : "N", "ADDITIONAL_VALUES" => "Y", ), "OFFERS_SORT_FIELD" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("CP_BCE_OFFERS_SORT_FIELD"), "TYPE" => "LIST", "VALUES" => $arSort, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "sort", ), "OFFERS_SORT_ORDER" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("CP_BCE_OFFERS_SORT_ORDER"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "asc", "ADDITIONAL_VALUES" => "Y", ), "OFFERS_SORT_FIELD2" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("CP_BCE_OFFERS_SORT_FIELD2"), "TYPE" => "LIST", "VALUES" => $arSort, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "id", ), "OFFERS_SORT_ORDER2" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("CP_BCE_OFFERS_SORT_ORDER2"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "desc", "ADDITIONAL_VALUES" => "Y", ), "OFFERS_LIMIT" => array( "PARENT" => "VISUAL", "NAME" => GetMessage('CP_BCE_OFFERS_LIMIT'), "TYPE" => "STRING", "DEFAULT" => 0, ), "PRICE_CODE" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_PRICE_CODE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "SIZE" => (count($arPrice) > 5 ? 8 : 3), "VALUES" => $arPrice, ), "USE_PRICE_COUNT" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_USE_PRICE_COUNT"), "TYPE" => "CHECKBOX", "REFRESH" => isset($templateProperties['USE_RATIO_IN_RANGES']) ? "Y" : "N", "DEFAULT" => "N", ), "SHOW_PRICE_COUNT" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_SHOW_PRICE_COUNT"), "TYPE" => "STRING", "DEFAULT" => "1", ), "PRICE_VAT_INCLUDE" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_VAT_INCLUDE"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "PRICE_VAT_SHOW_VALUE" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_VAT_SHOW_VALUE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "BASKET_URL" => array( "PARENT" => "BASKET", "NAME" => GetMessage("IBLOCK_BASKET_URL"), "TYPE" => "STRING", "DEFAULT" => "/personal/basket.php", ), "ACTION_VARIABLE" => array( "PARENT" => "ACTION_SETTINGS", "NAME" => GetMessage("IBLOCK_ACTION_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "action", ), "PRODUCT_ID_VARIABLE" => array( "PARENT" => "ACTION_SETTINGS", "NAME" => GetMessage("IBLOCK_PRODUCT_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "id", ), "USE_PRODUCT_QUANTITY" => array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_USE_PRODUCT_QUANTITY"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y", ), "PRODUCT_QUANTITY_VARIABLE" => array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_PRODUCT_QUANTITY_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "quantity", "HIDDEN" => (isset($arCurrentValues['USE_PRODUCT_QUANTITY']) && $arCurrentValues['USE_PRODUCT_QUANTITY'] == 'Y' ? 'N' : 'Y') ), "ADD_PROPERTIES_TO_BASKET" => array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_ADD_PROPERTIES_TO_BASKET"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y" ), "PRODUCT_PROPS_VARIABLE" => array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_PRODUCT_PROPS_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "prop", "HIDDEN" => (isset($arCurrentValues['ADD_PROPERTIES_TO_BASKET']) && $arCurrentValues['ADD_PROPERTIES_TO_BASKET'] == 'N' ? 'Y' : 'N') ), "PARTIAL_PRODUCT_PROPERTIES" => array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_PARTIAL_PRODUCT_PROPERTIES"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "HIDDEN" => (isset($arCurrentValues['ADD_PROPERTIES_TO_BASKET']) && $arCurrentValues['ADD_PROPERTIES_TO_BASKET'] == 'N' ? 'Y' : 'N') ), "PRODUCT_PROPERTIES" => array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_PRODUCT_PROPERTIES"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_X, "SIZE" => (count($arProperty_X) > 5 ? 8 : 3), "HIDDEN" => (isset($arCurrentValues['ADD_PROPERTIES_TO_BASKET']) && $arCurrentValues['ADD_PROPERTIES_TO_BASKET'] == 'N' ? 'Y' : 'N') ), "DISPLAY_COMPARE" => array( "PARENT" => "COMPARE", "NAME" => GetMessage('CP_BCE_DISPLAY_COMPARE'), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y" ), "LINK_IBLOCK_TYPE" => array( "PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_IBLOCK_TYPE"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlockType, "REFRESH" => "Y", ), "LINK_IBLOCK_ID" => array( "PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_IBLOCK_ID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock_LINK, "REFRESH" => "Y", ), "LINK_PROPERTY_SID" => array( "PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_PROPERTY_SID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_LINK, ), "LINK_ELEMENTS_URL" => array( "PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_ELEMENTS_URL"), "TYPE" => "STRING", "DEFAULT" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#", ), "BACKGROUND_IMAGE" =>array( "PARENT" => "VISUAL", "NAME" => GetMessage("T_IBLOCK_BACKGROUND_IMAGE"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-"=>" "),$arProperty_F) ), "CACHE_TIME" => array("DEFAULT"=>36000000), "CACHE_GROUPS" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BCE_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "USE_GIFTS_DETAIL" => array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SALE_T_DESC_USE_GIFTS_DETAIL"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y", ), "USE_GIFTS_MAIN_PR_SECTION_LIST" => array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SALE_T_DESC_USE_GIFTS_MAIN_PR_DETAIL"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y", ), 'COMPATIBLE_MODE' => array( 'PARENT' => 'EXTENDED_SETTINGS', 'NAME' => GetMessage('CP_BCE_COMPATIBLE_MODE'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y', 'REFRESH' => 'Y' ), "USE_ELEMENT_COUNTER" => array( "PARENT" => "EXTENDED_SETTINGS", "NAME" => GetMessage('CP_BCE_USE_ELEMENT_COUNTER'), "TYPE" => "CHECKBOX", "DEFAULT" => "Y" ), "SHOW_DEACTIVATED" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage('CP_BCE_SHOW_DEACTIVATED'), "TYPE" => "CHECKBOX", "DEFAULT" => "N" ), "DISABLE_INIT_JS_IN_COMPONENT" => array( "PARENT" => "EXTENDED_SETTINGS", "NAME" => GetMessage('CP_BCE_DISABLE_INIT_JS_IN_COMPONENT'), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "HIDDEN" => (isset($arCurrentValues['COMPATIBLE_MODE']) && $arCurrentValues['COMPATIBLE_MODE'] === 'N' ? 'Y' : 'N') ) ), ); if ($usePropertyFeatures) { unset($arComponentParameters["PARAMETERS"]["PROPERTY_CODE"]); unset($arComponentParameters["PARAMETERS"]["OFFERS_PROPERTY_CODE"]); if (isset($arComponentParameters["PARAMETERS"]["PRODUCT_PROPERTIES"])) unset($arComponentParameters["PARAMETERS"]["PRODUCT_PROPERTIES"]); } if ($arCurrentValues["SEF_MODE"] == "Y") { $arComponentParameters["PARAMETERS"]["SECTION_CODE_PATH"] = array( "NAME" => GetMessage("CP_BCE_SECTION_CODE_PATH"), "TYPE" => "STRING", "DEFAULT" => "", ); } if ($catalogIncluded) { $arComponentParameters['PARAMETERS']['HIDE_NOT_AVAILABLE_OFFERS'] = array( 'PARENT' => 'DATA_SOURCE', 'NAME' => GetMessage('CP_BCE_HIDE_NOT_AVAILABLE_OFFERS'), 'TYPE' => 'LIST', 'DEFAULT' => 'N', 'VALUES' => array( 'Y' => GetMessage('CP_BCE_HIDE_NOT_AVAILABLE_OFFERS_HIDE'), 'L' => GetMessage('CP_BCE_HIDE_NOT_AVAILABLE_OFFERS_SUBSCRIBE'), 'N' => GetMessage('CP_BCE_HIDE_NOT_AVAILABLE_OFFERS_SHOW') ) ); $arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array( 'PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCE_CONVERT_CURRENCY'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N', 'REFRESH' => 'Y', ); if (isset($arCurrentValues['CONVERT_CURRENCY']) && $arCurrentValues['CONVERT_CURRENCY'] == 'Y') { $arComponentParameters['PARAMETERS']['CURRENCY_ID'] = array( 'PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCE_CURRENCY_ID'), 'TYPE' => 'LIST', 'VALUES' => Currency\CurrencyManager::getCurrencyList(), 'DEFAULT' => Currency\CurrencyManager::getBaseCurrency(), "ADDITIONAL_VALUES" => "Y", ); } $arComponentParameters['PARAMETERS']['SET_VIEWED_IN_COMPONENT'] = array( "PARENT" => "EXTENDED_SETTINGS", "NAME" => GetMessage('CP_BCE_SET_VIEWED_IN_COMPONENT'), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "HIDDEN" => (isset($arCurrentValues['COMPATIBLE_MODE']) && $arCurrentValues['COMPATIBLE_MODE'] === 'N' ? 'Y' : 'N') ); } if (isset($arCurrentValues['COMPATIBLE_MODE']) && $arCurrentValues['COMPATIBLE_MODE'] === 'N') { unset($arComponentParameters['PARAMETERS']['OFFERS_LIMIT']); } if (empty($offers)) { unset($arComponentParameters["PARAMETERS"]["OFFERS_FIELD_CODE"]); if (isset($arComponentParameters["PARAMETERS"]["OFFERS_PROPERTY_CODE"])) unset($arComponentParameters["PARAMETERS"]["OFFERS_PROPERTY_CODE"]); unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_FIELD"]); unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_ORDER"]); unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_FIELD2"]); unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_ORDER2"]); } else { if (!$usePropertyFeatures) { $arComponentParameters["PARAMETERS"]["OFFERS_CART_PROPERTIES"] = array( "PARENT" => "BASKET", "NAME" => GetMessage("CP_BCE_OFFERS_CART_PROPERTIES"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_OffersWithoutFile, "SIZE" => (count($arProperty_OffersWithoutFile) > 5 ? 8 : 3), "HIDDEN" => (isset($arCurrentValues['ADD_PROPERTIES_TO_BASKET']) && $arCurrentValues['ADD_PROPERTIES_TO_BASKET'] == 'N' ? 'Y' : 'N') ); } } if (isset($arCurrentValues['DISPLAY_COMPARE']) && $arCurrentValues['DISPLAY_COMPARE'] == 'Y') { $arComponentParameters['PARAMETERS']['COMPARE_PATH'] = array( 'PARENT' => 'COMPARE', 'NAME' => GetMessage('CP_BCE_COMPARE_PATH'), 'TYPE' => 'STRING', 'DEFAULT' => '' ); } if(!\Bitrix\Main\ModuleManager::isModuleInstalled("sale")) { unset($arComponentParameters["PARAMETERS"]["USE_GIFTS_DETAIL"]); unset($arComponentParameters["PARAMETERS"]["USE_GIFTS_MAIN_PR_SECTION_LIST"]); unset($arComponentParameters["GROUPS"]["GIFTS_SETTINGS"]); } else { $useGiftsDetail = $arCurrentValues["USE_GIFTS_DETAIL"] === null && $arComponentParameters['PARAMETERS']['USE_GIFTS_DETAIL']['DEFAULT'] == 'Y' || $arCurrentValues["USE_GIFTS_DETAIL"] == "Y"; $useGiftsMainPrSectionList = $arCurrentValues["USE_GIFTS_MAIN_PR_SECTION_LIST"] === null && $arComponentParameters['PARAMETERS']['USE_GIFTS_MAIN_PR_SECTION_LIST']['DEFAULT'] == 'Y' || $arCurrentValues["USE_GIFTS_MAIN_PR_SECTION_LIST"] == "Y"; if($useGiftsDetail || $useGiftsMainPrSectionList) { if($useGiftsDetail) { $arComponentParameters["PARAMETERS"]["GIFTS_DETAIL_PAGE_ELEMENT_COUNT"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_PAGE_ELEMENT_COUNT_DETAIL"), "TYPE" => "STRING", "DEFAULT" => "4", ); $arComponentParameters["PARAMETERS"]["GIFTS_DETAIL_HIDE_BLOCK_TITLE"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_PARAMS_HIDE_BLOCK_TITLE_DETAIL"), "TYPE" => "CHECKBOX", "DEFAULT" => "", ); $arComponentParameters["PARAMETERS"]["GIFTS_DETAIL_BLOCK_TITLE"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_PARAMS_BLOCK_TITLE"), "TYPE" => "STRING", "DEFAULT" => GetMessage('SGB_PARAMS_BLOCK_TITLE_DEFAULT'), ); $arComponentParameters["PARAMETERS"]["GIFTS_DETAIL_TEXT_LABEL_GIFT"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_PARAMS_TEXT_LABEL_GIFT_DETAIL"), "TYPE" => "STRING", "DEFAULT" => GetMessage("SGP_PARAMS_TEXT_LABEL_GIFT_DEFAULT"), ); $arComponentParameters["PARAMETERS"]["GIFTS_SHOW_DISCOUNT_PERCENT"] = array( 'PARENT' => 'GIFTS_SETTINGS', 'NAME' => GetMessage('CVP_SHOW_DISCOUNT_PERCENT'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arComponentParameters["PARAMETERS"]["GIFTS_SHOW_OLD_PRICE"] = array( 'PARENT' => 'GIFTS_SETTINGS', 'NAME' => GetMessage('CVP_SHOW_OLD_PRICE'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y' ); $arComponentParameters["PARAMETERS"]["GIFTS_SHOW_NAME"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("CVP_SHOW_NAME"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ); $arComponentParameters["PARAMETERS"]["GIFTS_SHOW_IMAGE"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("CVP_SHOW_IMAGE"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ); $arComponentParameters["PARAMETERS"]['GIFTS_MESS_BTN_BUY'] = array( 'PARENT' => 'GIFTS_SETTINGS', 'NAME' => GetMessage('CVP_MESS_BTN_BUY_GIFT'), 'TYPE' => 'STRING', 'DEFAULT' => GetMessage('CVP_MESS_BTN_BUY_GIFT_DEFAULT') ); } if($useGiftsMainPrSectionList) { $arComponentParameters["PARAMETERS"]["GIFTS_MAIN_PRODUCT_DETAIL_PAGE_ELEMENT_COUNT"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_PAGE_ELEMENT_COUNT_MAIN_PR_DETAIL"), "TYPE" => "STRING", "DEFAULT" => "4", ); $arComponentParameters["PARAMETERS"]["GIFTS_MAIN_PRODUCT_DETAIL_HIDE_BLOCK_TITLE"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_PARAMS_HIDE_BLOCK_TITLE_MAIN_PR_DETAIL"), "TYPE" => "CHECKBOX", "DEFAULT" => "", ); $arComponentParameters["PARAMETERS"]["GIFTS_MAIN_PRODUCT_DETAIL_BLOCK_TITLE"] = array( "PARENT" => "GIFTS_SETTINGS", "NAME" => GetMessage("SGP_MAIN_PRODUCT_PARAMS_BLOCK_TITLE"), "TYPE" => "STRING", "DEFAULT" => GetMessage('SGB_MAIN_PRODUCT_PARAMS_BLOCK_TITLE_DEFAULT'), ); } } } CIBlockParameters::Add404Settings($arComponentParameters, $arCurrentValues);