Подскажите как можно переделать запрос pdoResource

Доброго дня!
Есть сайт журнала, на главной странице нужно выводить статьи из разных рубрик. Для пониманию структура:
Журнал
-2017
--3/2017
---рубрика1
---рубрика2
---рубрика3
--2/2017
---рубрика2
---рубрика3
--1/2017
---рубрика1
---рубрика3
-2016
--4/2016
---рубрика1
---рубрика2
-и т.д.

Т.е. в каждом номере журнала может не совпадать наличие рубрик, изначально не стояло задачи выводить статьи из этих рубрик не на страницах номера журнала.
Код:
{'pdoResources' | snippet : [
	'parents' => 18, 
	'where' => ['pagetitle:=' => 'рубрика1'],
	'returnIds' => 1,
	'limit' => 0,
	'toPlaceholder' => 'rubrika1'
]}
{'!pdoResources' | snippet : [
	'tpl' => 'tpl.newsSpisokIndexV2',
	'limit' => 3,
	'includeTVs' => 'imgArtcle,HitsPage',
	'parents' =>  $_modx->getPlaceholder('rubrika1'),
	'where' => ['publishedon:>' => $recentPh],
	'sortby' => 'RAND()'
]}

Для вывода статей первым запросом pdoResources ищутся ID этих рубрик, а вторым запросом выводятся 3 статьи за последний год рендомно. Но на главной нужно вывести 8 таких рубрик и соответственно это будет выполняться долго. Закешировать второй запрос нельзя потому что должны выводится разные статьи при обновлении страницы.

Подскажите пожалуйста каким образом можно сократить работу этих запросов.
Михаил
13 сентября 2017, 11:19
modx.pro
739
0

Комментарии: 1

Илья Уткин
14 сентября 2017, 10:44
0
Так просто сложно подсказать — нужно на реальном сайте поэтапно составлять запрос с нужными JOIN и обработкой результатов. Если есть какой-то небольшой бюджет — 500-800 руб., могу помочь. Можешь скинуть доступ в личку или на почту ilyautkin@mail.ru
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1