Помогите ускорить вывод
Здравствуйте,
Имею след. конструкцию:
Суть в следующем: на сайте больше 11 тыс товаров, код выше выводит пункт меню и его подпункты, которые являются категориями. На странице должны выводится только те категории, в которых есть товары относящиеся к текущей странице. В основном нагрузку, я так понял, несет вывод именно подкатегорий, потому что он там дважды полностью перебирает все имеющиеся товары. Но как сделать по другому до меня пока не дошло.
Имею след. конструкцию:
[[!If? &subject=`[[getProducts? &parents=`45` &returnIDs=`1` &depth=`1` &limit=`1` &tvFilters=`{"applicability:LIKE":"%[[*pagetitle]]%"}` &where=`{"template:=":5}`]]`
&operator=`empty`
&then=``
&else=`
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-45" href="#collapse-45" data-toggle="collapse" data-parent="#accordion" aria-expanded="false" aria-controls="collapse-45">
<a class="collapsed sprites i-down" data-toggle="collapse" data-parent="#accordion" href="#collapse-45" aria-expanded="false" aria-controls="collapse-45"></a>
<a href="#collapse-45" data-toggle="collapse" data-parent="#accordion" aria-expanded="false" aria-controls="collapse-45" class="category-link">Безопасность (Аэрбеги)</a>
</div>
<div id="collapse-45" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading-45">
<div class="panel-body">
<ul class="sub-menu" style="border-left: dotted 1px #999;">
[[getProducts? &parents=`45` &toPlaceholder=`result` &tpl=`idparent` &depth=`1` &limit=`0` &tvFilters=`{"applicability:LIKE":"%[[*pagetitle]]%"}` &where=`{"template:=":5}`]]
[[getProducts?
&parents=`-1`
&resources=`0[[+result]]`
&tpl=`inner_sideTpl_GP`
&limit=`0`
&activeClass=`active`
&orderby=`{"pagetitle":"ASC"}`
]]
</ul>
</div>
</div>
</div>
`]]Но она работает довольно медленно.Суть в следующем: на сайте больше 11 тыс товаров, код выше выводит пункт меню и его подпункты, которые являются категориями. На странице должны выводится только те категории, в которых есть товары относящиеся к текущей странице. В основном нагрузку, я так понял, несет вывод именно подкатегорий, потому что он там дважды полностью перебирает все имеющиеся товары. Но как сделать по другому до меня пока не дошло.
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Но это только уберёт двойной вызов. Думаю, основная нагрузка всё-таки в чанке inner_sideTpl_GP…
Спасибо что откликнулись
но не сильно увеличилась скорость с таким вызовом. Это получается один пункт такой, а таких пунктов 20, соответственно много времени занимает постройка такого меню…