[QUOTE]
Никита Тимофеев написал:
Добрый день, помогите, пожалуйста, решить дилемму:
Есть компонент catalog.element, у которого в параметрах кеширования стоит авто + управляемый со временем обновления 3600 секунд.
Внутри шаблона компонента есть вывод количества товара в корзине. Этот участок оформлен в виде динамической зоны:
[CODE] $framePrice = $this ->createFrame()->begin();
if (file_exists( $path = rsGoProGetTemplatePathPart( __DIR__ . '/prices.php' , $getTemplatePathPartParams ))) {
include ( $path );
}
$framePrice ->end(); [/CODE] Код нахождения количества: [CODE] $dbBasketItems = \Bitrix\Sale\Basket::getList([
'select' => [ 'QUANTITY' , 'PRODUCT_ID' ],
'filter' => [
'PRODUCT_ID' => $arItem [ "ID" ],
'=FUSER_ID' => \Bitrix\Sale\Fuser::getId(),
'=ORDER_ID' => null ,
'=LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
"=DELAY" => "N"
]
]);
if ( $arItems = $dbBasketItems ->Fetch()) {
...
...
...
} [/CODE] Но количество товара в корзине остается всегда без изменений.
Вопросов несколько:
Работает ли композит в связке с автокешированием? И если работает, то что я делаю не так?[/QUOTE]
я столкнулся с той же проблемой, композит не работает с автокешированием и с кешированием вообще. А если кеширование отключить и полагаться только на т.н. композит (т.е. элементарное HTML кеширование), то определять динамические зоны вообще нет никакой надобности. По этому поводу я написал тикет в поддержку, пока глухо. Продолжаю надеяться, что композитный режим, это не пустышка маркетинга, а что-то работающее, и мы все с вами что-то не так делаем, хоть и по документации.