
[spoiler]
Данные .parameters.php нужны исключительно для того, чтобы сформировать форму для ввода свойств компонента в среде БУС (например, в визуальном редакторе).
Файл .parameters.php должен находиться в папке компонента. Языковой файл подключается автоматически (должен лежать в папке /lang/<язык>/.parameters.php относительно папки компонента).
Структура типичного файла .parameters.php такова
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
CModule::IncludeModule("iblock");
$dbIBlockType = CIBlockType::GetList(
array("sort" => "asc"),
array("ACTIVE" => "Y")
);
while ($arIBlockType = $dbIBlockType->Fetch())
{
if ($arIBlockTypeLang = CIBlockType::GetByIDLang($arIBlockType["ID"], LANGUAGE_ID))
$arIblockType[$arIBlockType["ID"]] = "[".$arIBlockType["ID"]."] ".$arIBlockTypeLang["NAME"];
}
$arComponentParameters = array(
"GROUPS" => array(
"SETTINGS" => array(
"NAME" => GetMessage("SETTINGS_PHR")
),
"PARAMS" => array(
"NAME" => GetMessage("PARAMS_PHR")
),
),
"PARAMETERS" => array(
"IBLOCK_TYPE_ID" => array(
"PARENT" => "SETTINGS",
"NAME" => GetMessage("INFOBLOCK_TYPE_PHR"),
"TYPE" => "LIST",
"ADDITIONAL_VALUES" => "Y",
"VALUES" => $arIblockType,
"REFRESH" => "Y"
),
"BASKET_PAGE_TEMPLATE" => array(
"PARENT" => "PARAMS",
"NAME" => GetMessage("BASKET_LINK_PHR"),
"TYPE" => "STRING",
"MULTIPLE" => "N",
"DEFAULT" => "/personal/basket.php",
"COLS" => 25
),
"SET_TITLE" => array(),
"CACHE_TIME" => array(
"DEFAULT" => "3600"
),
"VARIABLE_ALIASES" => array(
"IBLOCK_ID" => array(
"NAME" => GetMessage("CATALOG_ID_VARIABLE_PHR"),
),
"SECTION_ID" => array(
"NAME" => GetMessage("SECTION_ID_VARIABLE_PHR"),
),
),
"SEF_MODE" => array(
"list" => array(
"NAME" => GetMessage("CATALOG_LIST_PATH_TEMPLATE_PHR"),
"DEFAULT" => "index.php",
"VARIABLES" => array()
),
"section1" => array(
"NAME" => GetMessage("SECTION_LIST_PATH_TEMPLATE_PHR"),
"DEFAULT" => "#IBLOCK_ID#",
"VARIABLES" => array("IBLOCK_ID")
),
"section2" => array(
"NAME" => GetMessage("SUB_SECTION_LIST_PATH_TEMPLATE_PHR"),
"DEFAULT" => "#IBLOCK_ID#/#SECTION_ID#",
"VARIABLES" => array("IBLOCK_ID", "SECTION_ID")
),
),
)
);
?>
|
То есть в файле определяется массив $arComponentParameters, который описывает входные параметры компонента. Если необходимо, то производится выборка каких-либо дополнительных данных. Например, для формирования выпадающего списка типов информационных блоков (входной параметр IBLOCK_TYPE_ID) выбираются все активные типы.
Массив $arComponentParameters имеет следующие ключи:
"GROUPS" - значением этого ключа является массив групп параметров компонента. Параметры в визуальных средствах среды БУС (например, в визуальном редакторе) группируются. Группы в среде БУС располагаются в том порядке, в котором заданы в файле. Массив групп параметров компонента состоит из элементов следующего вида
"код группы" => array( "NAME" => "название группы на текущем языке" ), |
"PARAMETERS" - значением этого ключа является массив параметров компонента. В каждой группе параметров параметры располагаются в том порядке, в котором заданы в файле. Массив обычных параметров компонента состоит из элементов следующего вида
"код параметра" => array( "PARENT" => "код группы, которой принадлежит параметр", "NAME" => "название параметра на текущем языке", "TYPE" => "тип элемента управления, в котором будет устанавливаться параметр", * * * ), |
Существуют особые параметры, которые стандартизованы и которые нет необходимости описывать полностью. Достаточно указать, что они есть. Например,
"SET_TITLE" => array(),
"CACHE_TIME" => array("DEFAULT" => "3600"),
|
Первый из указанных параметров - переключатель "а не нужно ли компоненту установить заголовок страницы", а второй - время кеширования.
Если компонент может работать в режиме ЧПУ или переопределять переменные, которые приходят из HTTP запроса, то необходимо среди параметров указать еще два особых параметра:
"VARIABLE_ALIASES" - массив, описывающий переменные, которые компонент может получать из HTTP запроса. Каждый элемент массива имеет вид
"внутреннее название переменной" => array( "NAME" => "название переменной на текущем языке", ), |
"SEF_MODE" - массив, описывающий шаблоны путей в режиме ЧПУ. Каждый элемент массива имеет вид
"код шаблона пути" => array( "NAME" => "название шаблона пути на текущем языке", "DEFAULT" => "шаблон пути по-умолчанию", "VARIABLES" => "массив внутренних названий переменных, которые могут использоваться в шаблоне" ), |
Почему нет в документации списка возможных типов параметров)
Их чё надо угадывать?
"CACHE_TIME" => array(
"DEFAULT"=>360000,
),
Можно ли как-то выставить отмену кэширования
Я документацию читаю или записки какие-то?
LIST - выбор из списка значений...
STRING - текстовое поле ввода...
CHECKBOX - да/нет...
CUSTOM - позволяет создавать кастомные элементы управления...
FILE - выбор файла...
COLORPICKER - указание цвета...