Last active
April 4, 2023 11:13
-
-
Save w1cerg/201a8f83ea174bac75af8508d84c8ef6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Меню имеет встроенной внутренний кеш, см. bitrix/modules/main/classes/general/menu.php:192 | |
`$bCacheIsAllowed = CACHED_menu!==false && !$USER->IsAuthorized() && $this->MenuExtDir == '';` | |
В кеш сохраняются значения LINK, LINKS, PERM | |
Это единственное место использования CACHED_menu, и самое тяжелое что там есть - права доступа к файлу | |
Т.е. получаем что CACHED_menu - это кеш меню для неавторизованного пользователя, для экономии на получении | |
прав доступа. | |
*/ | |
/* | |
CACHE_SELECTED_ITEMS - параметр для компонента меню, если не выставить в N то генерирует новый кеш для каждой страницы | |
при условии что шаблон выполняется всегда, контент не кешируется - чаще всего это излишне | |
Согласно документации https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=5402: | |
` | |
Если на сайте меню одного типа в подпапках не переопределяется, то можно при подключении меню указать параметр: | |
"CACHE_SELECTED_ITEMS" => "N", | |
Это приведет к тому, что при создании файла кеша меню в ключе не будет участвовать url. А расчет выбранного уровня будет происходить после получения данных из кеша. | |
` | |
*/ | |
/* | |
Параметр "Распространять куки на все домены" работает подключением скрипта /bitrix/spread.php в конце страницы. | |
При кастомных запросах ajax и изменении в них cookies механизм не будет работать сам. | |
Как решение: отдавать значение $GLOBALS['APPLICATION']->GetSpreadCookieHTML() в ответе и вручную добавлять его на страницу | |
Там будет <script> тег, тогда будет работать как задумывалось битриксом. | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment