Всем привет. В битриксе новичок.
Не знаю зачем, но разработчики когда-то решили сделать вывод каталога товаров через включаемую область, а не через стандартные компоненты.
Выглядит это так:
А в самом включаемом файле уже написана вся логика, подключения к базе, выборки товаров и т.д.
В итоге при каждом хите имеем 420 запросов к базе, и из-за этого большое время ответа сервера.
Вопрос: можно ли как-то настроить кеширование этой включаемой области, чтобы после первого хита, остальным отдавалась уже закешированная страница каталога?
Проблема еще в том, что в шапке интернет-магазина переключаются города, и цены в каталоге, в зависимости от выбранного города, несколько отличаются. В идеале конечно закешировать бы под каждый город.
Или всё это по-любому придется переписывать на какие-нибудь стандартные кешируемые компоненты?
Не знаю зачем, но разработчики когда-то решили сделать вывод каталога товаров через включаемую область, а не через стандартные компоненты.
Выглядит это так:
| Код |
|---|
<?
$cur_active_section = $active_section;
$cur_active_subsection = $active_subsection;
if (isset($_GET['filter']['helper'])) {
$active_section = 0;
$active_subsection = 0;
}
$APPLICATION->IncludeComponent(
"bitrix:main.include", "", array(
"AREA_FILE_SHOW" => "file",
"PATH" => "/catalog/items_" . SITE_ID . ".php",
"EDIT_TEMPLATE" => "",
"ACTIVE_SECTION" => $active_section,
"ACTIVE_SUBSECTION" => $active_subsection,
"FILTER" => $filter,
"SORTING" => $sorting,
"OFFSET" => $offset,
"LIMIT" => $limit,
"SERIES_LIMIT" => PRODUCTS_NUMBER_PER_SERIES_CATALOG_PAGE,
"VISIBLE_PAGES" => PRODUCTS_VISIBLE_PAGES,
"LOAD_WRAPPER" => $ajax_load,
)
);
$active_section = $cur_active_section;
$active_subsection = $cur_active_subsection;
?>
|
А в самом включаемом файле уже написана вся логика, подключения к базе, выборки товаров и т.д.
В итоге при каждом хите имеем 420 запросов к базе, и из-за этого большое время ответа сервера.
Вопрос: можно ли как-то настроить кеширование этой включаемой области, чтобы после первого хита, остальным отдавалась уже закешированная страница каталога?
Проблема еще в том, что в шапке интернет-магазина переключаются города, и цены в каталоге, в зависимости от выбранного города, несколько отличаются. В идеале конечно закешировать бы под каждый город.
Или всё это по-любому придется переписывать на какие-нибудь стандартные кешируемые компоненты?