Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

bitrix.catalog.section и кэш

00 голосов
4
Доброго времени суток!

Проблема такая:
Есть:
- стандартный компонент bitrix.catalog.section
- Кастомизированный шаблон компонента (только файлы template.php и style.php, в которых не выполняется ни одного запроса - есть только вывод данных из $arResult)
- Предустановленный глобальный фильтр $arrFilter, сброшенный в пустой массив перед подачей в параметры компонента
- Стоят галочки Кэширование = Авто+ Управляемое, кэшировать при установленном фильтре.

Проблема - Компонент то кэшируется то не кэшируется, причина поведения неизвестна.

Полезная информация: 
Инфоблок, участвует в документообороте
Пытался сделать свой компонент с использованием API Битрикса и установил, что не кэшируется. Подозреваю что проблема именно в документообороте, скажите как можно закэшировать не учитывая документооборот, либо я что-то упустил

Параметры компонента:

Код
 $APPLICATION->IncludeComponent("bitrix:catalog.section", "company_block_left", array(
   "IBLOCK_TYPE" => "company",
   "IBLOCK_ID" => "3",
   "SECTION_ID" => "",
   "SECTION_CODE" => "",
   "SECTION_USER_FIELDS" => array(
      0 => "",
      1 => "",
   ),
   "ELEMENT_SORT_FIELD" => "active_from",
   "ELEMENT_SORT_ORDER" => "desc",
   "FILTER_NAME" => "arrFilter",
   "INCLUDE_SUBSECTIONS" => "N",
   "SHOW_ALL_WO_SECTION" => "N",
   "PAGE_ELEMENT_COUNT" => "5",
   "LINE_ELEMENT_COUNT" => "1",
   "PROPERTY_CODE" => array(
      0 => "CREGION",
      1 => "",
   ),
   "SECTION_URL" => "",
   "DETAIL_URL" => "",
   "BASKET_URL" => "/personal/basket.php",
   "ACTION_VARIABLE" => "action",
   "PRODUCT_ID_VARIABLE" => "id",
   "PRODUCT_QUANTITY_VARIABLE" => "quantity",
   "PRODUCT_PROPS_VARIABLE" => "prop",
   "SECTION_ID_VARIABLE" => "SECTION_ID",
   "AJAX_MODE" => "N",
   "AJAX_OPTION_JUMP" => "N",
   "AJAX_OPTION_STYLE" => "Y",
   "AJAX_OPTION_HISTORY" => "N",
   "CACHE_TYPE" => "Y",
   "CACHE_TIME" => "7200",
   "CACHE_GROUPS" => "N",
   "META_KEYWORDS" => "-",
   "META_DESCRIPTION" => "-",
   "BROWSER_TITLE" => "-",
   "ADD_SECTIONS_CHAIN" => "N",
   "DISPLAY_COMPARE" => "N",
   "SET_TITLE" => "N",
   "SET_STATUS_404" => "N",
   "CACHE_FILTER" => "Y",
   "PRICE_CODE" => array(
   ),
   "USE_PRICE_COUNT" => "N",
   "SHOW_PRICE_COUNT" => "1",
   "PRICE_VAT_INCLUDE" => "Y",
   "PRODUCT_PROPERTIES" => array(
   ),
   "USE_PRODUCT_QUANTITY" => "N",
   "DISPLAY_TOP_PAGER" => "N",
   "DISPLAY_BOTTOM_PAGER" => "N",
   "PAGER_TITLE" => "",
   "PAGER_SHOW_ALWAYS" => "N",
   "PAGER_TEMPLATE" => "",
   "PAGER_DESC_NUMBERING" => "N",
   "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
   "PAGER_SHOW_ALL" => "N",
   "AJAX_OPTION_ADDITIONAL" => ""
   ),
   false,
   array(
   "ACTIVE_COMPONENT" => "Y"
   )
);



Формирование фильтра

Код
 global $arRegionsFilter,$arrFilter;
$arrFilter = array();
if (count($arRegionsFilter["FILTER_REGION_ELEMENTS"])>0)
{
   $arrFilter["PROPERTY_CREGION"] = $arRegionsFilter["FILTER_REGION_ELEMENTS"];
}
спросил 02 Янв, 14 от Lokit (100 баллов)

4 Ответы

00 голосов
1. Выведите содержимое фильтра перед подключением компонента может что то упускаете

2. Если используется тегированный кэш и вы изменяете элементы то кэш скидывается
ответил 03 Апр, 14 от Dakost (580 баллов)
00 голосов
1. Выводил Фильтр всегда одинаковый.
2. Не понятно где смотреть
ответил 26 Июль, 14 от Lokit (100 баллов)
00 голосов
1. в фильтре метки времени нет?

2. В настройках сайта, управляемый кэш
ответил 28 Ноя, 14 от Dakost (580 баллов)
00 голосов
1. В Фильтре список ID одного из инфоблоков (собственно города)
2. Да включен, проблема в том, что нет изменений в ИБ, и по идее такой кэш не должен сработать, он срабатывает когда есть изменения в ИБ.
ответил 23 Март, 15 от Lokit (100 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
2 ответов
0 голосов
2 ответов
0 голосов
4 ответов
спросил 21 Янв, 14 от eff (160 баллов)