Автокеширование собственного компонента в Битрикс?
Сделал простой компонент. Выводит строкой название товара и две цены в зависимости от параметров
Структура компоненты простая:
- templates
-- .default
--- template.php
- class.php
В class.php два метода: onPrepareComponentParams() и executeComponent()
В executeComponent() код тоже простой:
public function executeComponent()
{
global $USER;
if ($this->startResultCache(false, $USER->GetUserGroupString())) {
... тут получаем данные о товаре и присваеваем данные в $this->arResult...
if (!($this->arResult)) {
$this->abortResultCache();
return false;
}
$this->includeComponentTemplate();
}
return parent::executeComponent();
}
Все просто и лаконично в компоненте, но при изменении цены товара кеш не обновляется. Ни на первый хит, ни на 101... пока время кеша из настроек не выйдет, кеш не сбрасывается.
То ли день сегодня такой, то ли еще чего, но не могу понять почему. Тегированный кеш и проверка данных после получения кеша не вариант, потому что на страницу выводится сотни и тысячи таких строчек о товаре и в таком случае запросов дополнительных не меньше.
Как вариант сброс кеша при обновлении из 1с, но тогда смысл кеша пропадает при частых обновлениях. Композитный сайт не включен, так что его влияние тут отпадает.
Подскажите, что не так?
upd: Компоненту передаются параметры:
'IBLOCK_ID' => 10,
'ID' => 53,
'CACHE_TYPE' => 'A',
'CACHE_TIME' => (60 * 60),
'CACHE_FILTER' => 'N',
'CACHE_GROUPS' => 'Y',