Shaffle parents
Привет.
Как мне перемешать в случайном пордяке $parents с сохранением index при вызове getResources?
Понимаю что надо использовать shuffle, но не могу заставить работать…
Как мне перемешать в случайном пордяке $parents с сохранением index при вызове getResources?
Понимаю что надо использовать shuffle, но не могу заставить работать…
{var $parents = $_modx->getResources(
['published' => 1, 'deleted' => 0, 'isfolder' => 1],
['select' => 'id,longtitle','parents' => 24,'limit' => 7])}
{foreach $parents as $parent index=$index}
{var $childs = $_modx->getResources(
['published' => 1, 'deleted' => 0, 'parent' => $parent.id],
['select' => 'id,longtitle,introtext', 'sortby' => 'rand()','limit' => 1,'includeTVs' => 'img','tvPrefix' => '','processTVs' => 1])}
{if $childs}
{foreach $childs as $child}
******
{/foreach}
{/foreach}
По сути: мне нужно вывести из 8 разделов (parents) по одному потомку (child) в случайном порядке, при этом рандомно и разделы и потомков Комментарии: 6
Почему бы ни использовать pdoResources и sortby=RAND().
sortby=RAND()
выдает мне разное количество, а мне нужно вывести строго точно число анонсов.
Возможно getResources и выдает разное количество, pdoResources выводит ровно столько ресурсов сколько указана в limit.
Задачка нетривиальная: нужно вывести из 8 разделов (parents) по одному потомку (child) в случайном порядке, при этом рандомно и разделы и потомков.
GROUP BY parents
Я думаю тут только кастомный сниппет поможет, который будет выбирать случайным образом 8 родителей, а потом в цикле 8 потомков. Если бы можно было бы 8 потомков выбрать так чтобы от одного родителя было скажем 2, а от другого ни одного, тогда можно и без цикла.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.