файл .parameters.php служит для описания параметров компонента, в нем можно задать значение параметра компонента по-умолчанию, то есть то, которое установится изначально, когда мы кинем в визуальном редакторе компонент на страницу. Но если задать DEFAULT - значение для параметра CACHE_TYPE, то оно проигнорируется, если хотя бы описан в $arComponentParameters другой параметр - CACHE_TIME. А CACHE_TYPE даже нельзя будет переопределить в component.php, поэтому можно использовать такой трюк:
Код .parameters.php:
Код .parameters.php:
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); $arComponentParameters = array( "GROUPS" => array( ), "PARAMETERS" => array( "CACHE_TYPE" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("COMP_PROP_CACHE_TYPE"), "TYPE" => "LIST", "VALUES" => array("A" => GetMessage("COMP_PROP_CACHE_TYPE_AUTO")." ".GetMessage("COMP_PARAM_CACHE_MAN"), "Y" => GetMessage("COMP_PROP_CACHE_TYPE_YES"), "N" => GetMessage("COMP_PROP_CACHE_TYPE_NO")), "DEFAULT" => "N", "ADDITIONAL_VALUES" => "N", "REFRESH" => "Y" // параметр cache_time добавится, только если значение cache_type не = N ), ), ); if (isset($arCurrentValues["CACHE_TYPE"]) && 'N' !== $arCurrentValues["CACHE_TYPE"]) { $arComponentParameters['PARAMETERS']['CACHE_TIME'] = array( "DEFAULT"=>3600 ); } ?> |