%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/catalog.link.list/ |
Current File : //home/bitrix/www/bitrix/components/bitrix/catalog.link.list/.parameters.php |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); /** @var array $arCurrentValues */ use Bitrix\Main\Loader; use Bitrix\Iblock; use Bitrix\Currency; if(!Loader::includeModule("iblock")) return; $catalogIncluded = Loader::includeModule('catalog'); $iblockExists = (!empty($arCurrentValues['IBLOCK_ID']) && (int)$arCurrentValues['IBLOCK_ID'] > 0); $arIBlockType = CIBlockParameters::GetIBlockTypes(); $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()) $arIBlock[$arr['ID']] = '['.$arr['ID'].'] '.$arr['NAME']; unset($arr, $rsIBlock, $iblockFilter); $arProperty_LNS = array(); $arProperty_N = array(); $arProperty_LINK = array(); if ($iblockExists) { $propertyIterator = Iblock\PropertyTable::getList(array( 'select' => array('ID', 'IBLOCK_ID', 'NAME', 'CODE', 'PROPERTY_TYPE'), '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_LIST || $property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_NUMBER || $property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_STRING ) $arProperty_LNS[$propertyCode] = $propertyName; if ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_ELEMENT) $arProperty_LINK[$propertyCode] = $propertyName; if ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_NUMBER) $arProperty_N[$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()); $arPrice = CCatalogIBlockParameters::getPriceTypesList(); } else { $arPrice = $arProperty_N; } $arAscDesc = array( "asc" => GetMessage("IBLOCK_SORT_ASC"), "desc" => GetMessage("IBLOCK_SORT_DESC"), ); $arComponentParameters = array( "GROUPS" => array( "ACTION_SETTINGS" => array( "NAME" => GetMessage('IBLOCK_ACTIONS') ), "PRICES" => array( "NAME" => GetMessage("IBLOCK_PRICES"), ), "COMPARE" => array( "NAME" => GetMessage('IBLOCK_COMPARE') ), 'EXTENDED_SETTINGS' => array( 'NAME' => GetMessage('IBLOCK_EXTENDED_SETTINGS'), 'SORT' => 10000 ) ), "PARAMETERS" => array( "AJAX_MODE" => array(), "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", ), "LINK_PROPERTY_SID" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_LINK_PROPERTY_SID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_LINK ), "ELEMENT_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_ELEMENT_ID"), "TYPE" => "STRING", "DEFAULT" => '={$_REQUEST["PARENT_ELEMENT_ID"]}' ), "ELEMENT_SORT_FIELD" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_FIELD"), "TYPE" => "LIST", "VALUES" => $arSort, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "sort", ), "ELEMENT_SORT_ORDER" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_ORDER"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "asc", "ADDITIONAL_VALUES" => "Y", ), "ELEMENT_SORT_FIELD2" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_FIELD2"), "TYPE" => "LIST", "VALUES" => $arSort, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "id", ), "ELEMENT_SORT_ORDER2" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_ORDER2"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "desc", "ADDITIONAL_VALUES" => "Y", ), "FILTER_NAME" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_FILTER_NAME_IN"), "TYPE" => "STRING", "DEFAULT" => "arrFilter", ), "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" ), "BASKET_URL" => array( "PARENT" => "URL_TEMPLATES", "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" ), "SECTION_ID_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_SECTION_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "SECTION_ID" ), "SET_TITLE" => Array(), "PAGE_ELEMENT_COUNT" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_PAGE_ELEMENT_COUNT"), "TYPE" => "STRING", "DEFAULT" => "30", ), "PROPERTY_CODE" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_PROPERTY"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_LNS, "ADDITIONAL_VALUES" => "Y", ), "PRICE_CODE" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_PRICE_CODE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arPrice, ), "USE_PRICE_COUNT" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_USE_PRICE_COUNT"), "TYPE" => "CHECKBOX", "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", ), "DISPLAY_COMPARE" => array( "PARENT" => "COMPARE", "NAME" => GetMessage("CP_BCLL_DISPLAY_COMPARE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y" ), "CACHE_TIME" => Array("DEFAULT"=>300), "CACHE_FILTER" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("IBLOCK_CACHE_FILTER"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "CACHE_GROUPS" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BCLL_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "SET_LAST_MODIFIED" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCLL_SET_LAST_MODIFIED"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), 'COMPATIBLE_MODE' => array( 'PARENT' => 'EXTENDED_SETTINGS', 'NAME' => GetMessage('CP_BCLL_COMPATIBLE_MODE'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'Y', 'REFRESH' => 'Y' ), ), ); CIBlockParameters::AddPagerSettings($arComponentParameters, GetMessage("T_IBLOCK_DESC_PAGER_CATALOG"), true, true); if ($catalogIncluded) { $arComponentParameters["PARAMETERS"]['HIDE_NOT_AVAILABLE'] = array( 'PARENT' => 'DATA_SOURCE', 'NAME' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE'), 'TYPE' => 'LIST', 'DEFAULT' => 'N', 'VALUES' => array( 'Y' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_HIDE'), 'L' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_LAST'), 'N' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_SHOW') ), 'ADDITIONAL_VALUES' => 'N' ); $arComponentParameters['PARAMETERS']['HIDE_NOT_AVAILABLE_OFFERS'] = array( 'PARENT' => 'DATA_SOURCE', 'NAME' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS'), 'TYPE' => 'LIST', 'DEFAULT' => 'N', 'VALUES' => array( 'Y' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS_HIDE'), 'L' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS_SUBSCRIBE'), 'N' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS_SHOW') ) ); $arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array( 'PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCLL_CONVERT_CURRENCY'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N', 'REFRESH' => 'Y', ); if (isset($arCurrentValues['CONVERT_CURRENCY']) && 'Y' == $arCurrentValues['CONVERT_CURRENCY']) { $arComponentParameters['PARAMETERS']['CURRENCY_ID'] = array( 'PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCLL_CURRENCY_ID'), 'TYPE' => 'LIST', 'VALUES' => Currency\CurrencyManager::getCurrencyList(), 'DEFAULT' => Currency\CurrencyManager::getBaseCurrency(), 'ADDITIONAL_VALUES' => 'Y', ); } } if (isset($arCurrentValues['DISPLAY_COMPARE']) && $arCurrentValues['DISPLAY_COMPARE'] == 'Y') { $arComponentParameters['PARAMETERS']['COMPARE_PATH'] = array( 'PARENT' => 'COMPARE', 'NAME' => GetMessage('CP_BCLL_COMPARE_PATH'), 'TYPE' => 'STRING', 'DEFAULT' => '' ); }