Март 13, 2019
Теги: Кеш, Решение проблем, Ускорение
Решение проблемы переполнения кеша меню.
Типичный вызов компонента меню выглядит так:
<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"footer",
array(
"ROOT_MENU_TYPE" => "footer",
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "",
"USE_EXT" => "N",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "N",
),
false
);
Если меню не зависит от авторизованности пользователя или привязки его к определенным группам пользователь, следует установить параметр:
Если в меню не выделяется текущий пункт, то следует установить данный параметр в "N", при этом кеш не будет привязан к текущей странице, в противном случае кеш будет создаваться для каждого url, даже если выделенный пункт для большинства страниц один и тот же:
Если установлен параметр "MENU_CACHE_USE_USERS", его также нужно установить в "N", его стоит устанавливать в "Y" только если меню зависит от конкретного пользователя, правда в этом случае вообще встает вопрос целесообразности кеширования меню: