Кэширование блоков и кнопка добавить в корзину

Хотелось бы узнать как работает кэш cs cart. У меня после того, как был переделан дизайн стандартного шаблона, начал кэшироваться блок добавления в корзину. То есть добавил в корзину, обновляешь страницу - товар как будто не добавлен (то есть отдаётся версия страницы которая закэшировалось). Это работает только на неавторизованных пользователях. Как потом откопал в схемах увидел, что связано это с disable_cache_when. Кэш на блоки продуктов отключается если авторизован.

В стандартном шаблоне конечно ничего не меняется при добавлении в корзину, в моем случае выводится количество добавленного товара уже в корзину. Видимо поэтому стандартный кэш это ломает. Вопрос нет ли возможности исключать кэш именно определенного места?

Каким образом этот кэш работает и как его правильно очищать? Может нужно оборачивать динамическую область в какой то тэг? Или может кто знает по каким причинам такое может происходить. Заранее благодарю

Решил проблему добавлением в disable_cache_when

‘session_handlers’ => array(
‘cart.amount’ => array(‘gt’, 0)
)

Таким образом кэш будет работать только если в корзине нет товаров

4 лайка