K
K
KASich2020-11-18 09:22:13
1C-Bitrix
KASich, 2020-11-18 09:22:13

How to speed up the loading of the catalog.section component?

You want to display several product groups on one page.


Group 1.
1) Product 5
2) Product 8
3) Product 2

Group 2.
1) Product 2
2) Product 7
3) Product 3

I display these products through the catalog.section component. But there are a lot of such groups on the page (50+) and therefore the page loading is quite long.

Hence the question, how to speed up the loading of the section.catalog component? If it helps to exclude the loading of unnecessary fields (announcement, description, date of creation and modification, properties, etc.), then how to do it?
And maybe you will advise another way to display goods.

The product output looks like this:
<?$param = array(
...
"FILTER_NAME" => "arrFilter",
...
);?>

<span>Группа 1</span>
<?$arrFilter = array("ID" => array('5','8','2'));?>
<?$APPLICATION->IncludeComponent('bitrix:catalog.section', 'catalog_table', $param);?>

<span>Группа 2</span>
<?$arrFilter = array("ID" => array('2','7','3'));?>
<?$APPLICATION->IncludeComponent('bitrix:catalog.section', 'catalog_table', $param);?>


PS. CACHE_FILTER => Y helped, but not much.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexey, 2020-11-18
@AlexeyCaTHaR

I would generally think in the direction of creating my own component. Look in the debugger for how many requests the component is making.
Think that you need one request for a group through the same CIBlockElement::GetList();
And if you add normal fetch caching and make one fetch, with further splitting into groups outside the query, and also look at the innodb_flush_log_at_trx_commit parameter for the database. Bitrix recommends 0

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question