static function AddPagerSettings(&$arComponentParameters, $pager_title, $bDescNumbering=true, $bShowAllParam=false, $bBaseLink=false, $bBaseLinkEnabled=false)
{
$arHiddenTemplates = array(
'js' => true
);
if (!isset($arComponentParameters['GROUPS']))
$arComponentParameters['GROUPS'] = array();
$arComponentParameters["GROUPS"]["PAGER_SETTINGS"] = array(
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_SETTINGS"),
);
$arTemplateInfo = CComponentUtil::GetTemplatesList('bitrix:system.pagenavigation');
if (empty($arTemplateInfo))
{
$arComponentParameters["PARAMETERS"]["PAGER_TEMPLATE"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_TEMPLATE"),
"TYPE" => "STRING",
"DEFAULT" => "",
);
}
else
{
sortByColumn($arTemplateInfo, array('TEMPLATE' => SORT_ASC, 'NAME' => SORT_ASC));
$arTemplateList = array();
$arSiteTemplateList = array(
'.default' => Loc::getMessage('T_IBLOCK_DESC_PAGER_TEMPLATE_SITE_DEFAULT')
);
$arTemplateID = array();
foreach ($arTemplateInfo as &$template)
{
if ('' != $template["TEMPLATE"] && '.default' != $template["TEMPLATE"])
$arTemplateID[] = $template["TEMPLATE"];
if (!isset($template['TITLE']))
$template['TITLE'] = $template['NAME'];
}
unset($template);
if (!empty($arTemplateID))
{
$rsSiteTemplates = CSiteTemplate::GetList(
array(),
array("ID"=>$arTemplateID),
array()
);
while ($arSitetemplate = $rsSiteTemplates->Fetch())
{
$arSiteTemplateList[$arSitetemplate['ID']] = $arSitetemplate['NAME'];
}
}
foreach ($arTemplateInfo as &$template)
{
if (isset($arHiddenTemplates[$template['NAME']]))
continue;
$strDescr = $template["TITLE"].' ('.('' != $template["TEMPLATE"] && '' != $arSiteTemplateList[$template["TEMPLATE"]] ? $arSiteTemplateList[$template["TEMPLATE"]] : Loc::getMessage("T_IBLOCK_DESC_PAGER_TEMPLATE_SYSTEM")).')';
$arTemplateList[$template['NAME']] = $strDescr;
}
unset($template);
$arComponentParameters["PARAMETERS"]["PAGER_TEMPLATE"] = array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_TEMPLATE_EXT"),
"TYPE" => "LIST",
"VALUES" => $arTemplateList,
"DEFAULT" => ".default",
"ADDITIONAL_VALUES" => "Y"
);
}
$arComponentParameters["PARAMETERS"]["DISPLAY_TOP_PAGER"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_TOP_PAGER"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N",
);
$arComponentParameters["PARAMETERS"]["DISPLAY_BOTTOM_PAGER"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_BOTTOM_PAGER"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "Y",
);
$arComponentParameters["PARAMETERS"]["PAGER_TITLE"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_TITLE"),
"TYPE" => "STRING",
"DEFAULT" => $pager_title,
);
$arComponentParameters["PARAMETERS"]["PAGER_SHOW_ALWAYS"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_SHOW_ALWAYS"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N",
);
if($bDescNumbering)
{
$arComponentParameters["PARAMETERS"]["PAGER_DESC_NUMBERING"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_DESC_NUMBERING"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N",
);
$arComponentParameters["PARAMETERS"]["PAGER_DESC_NUMBERING_CACHE_TIME"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_DESC_NUMBERING_CACHE_TIME"),
"TYPE" => "STRING",
"DEFAULT" => "36000",
);
}
if($bShowAllParam)
{
$arComponentParameters["PARAMETERS"]["PAGER_SHOW_ALL"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_SHOW_ALL"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N"
);
}
if($bBaseLink)
{
$arComponentParameters["PARAMETERS"]["PAGER_BASE_LINK_ENABLE"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_BASE_LINK_ENABLE"),
"TYPE" => "CHECKBOX",
"REFRESH" => "Y",
"DEFAULT" => "N",
);
if($bBaseLinkEnabled)
{
$arComponentParameters["PARAMETERS"]["PAGER_BASE_LINK"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_BASE_LINK"),
"TYPE" => "STRING",
"DEFAULT" => ""
);
$arComponentParameters["PARAMETERS"]["PAGER_PARAMS_NAME"] = Array(
"PARENT" => "PAGER_SETTINGS",
"NAME" => Loc::getMessage("T_IBLOCK_DESC_PARAMS_NAME"),
"TYPE" => "STRING",
"DEFAULT" => "arrPager"
);
}
}
}