just_guy95
@just_guy95
Bitrix 1C

Проблема с кеширование ext меню?

Добрый день.
Проблема в том, что для пунктов меню(которых как минимум 2) которые генерятся с инфоблока через ext файл создается один закэшированный файл, подробнее объясняю в видео https://www.youtube.com/watch?v=AXqiCL6c2WI
Нажал на один пункт, он закэшировался, выделился и при нажатии на второй пункт выделение остается на прошлом.

Шаблон Аспро, ничего не кастомизировал, может какие-нибудь параметры не дописал?

ext файл:
global $APPLICATION;

$aMenuLinksExt = $APPLICATION->IncludeComponent(
	"bitrix:menu.sections", 
	"", 
	array(
		"IBLOCK_TYPE" => "quiz",
		"IBLOCK_ID" => "39",
		"SECTION_URL" => "/company/testing/element.php?TEST_ID=#ID#",
		"CACHE_TIME" => "3600",
		"DEPTH_LEVEL" => "1",
		"CACHE_TYPE" => "A",
		"ID" => $_REQUEST["TEST_ID"]
	),
	false
);

$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt);


Вывод компонента menu:
$APPLICATION->IncludeComponent(
			"bitrix:menu",
			"left_menu",
			array(
				"ROOT_MENU_TYPE" => "left",
				"MENU_CACHE_TYPE" => "A",
				"MENU_CACHE_TIME" => "3600000",
				"MENU_CACHE_USE_GROUPS" => "N",
				"MENU_CACHE_GET_VARS" => array(),
				"MAX_LEVEL" => "2",
				"CHILD_MENU_TYPE" => "left",
				"USE_EXT" => "Y",
				"DELAY" => "N",
				"ALLOW_MULTI_SELECT" => "N",
				"COMPONENT_TEMPLATE" => "left_menu",
			),
			false,
			array(
				"ACTIVE_COMPONENT" => "Y"
			)
		);
  • Вопрос задан
  • 228 просмотров
Пригласить эксперта
Ответы на вопрос 1
just_guy95
@just_guy95 Автор вопроса
Bitrix 1C
Вопрос решен.
В настройках компонента menu есть параметр «Значимые переменные запроса», инфа из документации:
Если отображение меню зависит от параметров страницы, то при использовании кеширования необходимо указать параметры в этом поле. Параметры вводятся через запятую.

Но один важный момент:
Если отображение меню зависит от !!!GET!!! параметров страницы, то при использовании кеширования необходимо указать параметры в этом поле. Параметры вводятся через запятую.
Если передать в массив какое-то значение, которого нет в GET параметрах, новый кеш создаваться не будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы