файл .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
);
}
?>
|