При разных запросах к странице меняется $_REQUEST["CITY_CODE"]. Как сделать, что бы при смене $_REQUEST["CITY_CODE"] выдавался кеш шаблона компонента, построенного на соответствующем значении $_REQUEST["CITY_CODE"]?
Денис Диденко пишет: правильно это кастомизировать компонент и добавить $_REQUEST["CITY_CODE"] в ключи кеша.
Такая простая задача решается таким радикальным способом? Неужели в Битриксе такие ситуации не предусмотрены? Вот в компоненте меню есть настройка для ввода переменных, влияющих на кеш...
Чтобы этот параметр был виден при редактировании параметров компонента через визуальный редактор, его нужно описать в .parameters.php вашего шаблона компонента:
Но это решение, во-первых, небезопасно - кто-то может запустить робота, который в качестве параметра будет бесконечно передавать разные значения CITY_CODE, тем самым забивая диск кэшем. А, во-вторых, нерационально, т.к. этот параметр никак не участвует в логике компонента, а только в шаблоне - нет смысла компоненту каждый раз генерировать $arResult. Похоже, вам нужно просто перенести код шаблона в component_epilog.php. Описание, как это сделать: http://dev.1c-bitrix.ru/community/webdev/user/2854/blog/universal-method-of-eliminating-the-component-template-from-the-cache/