Вывод ресурсов на fenom без сниппета

Вывожу ресурсы через microModx:
{var $resources = $_modx->getResources(
    ['published' => 0, 'deleted' => 0],
    ['parents' => 2],
    ['sortby' => 'id', 'sortdir' => 'ASC', 'limit' => 0]
)}
{foreach $resources as $resource}
    {$_modx->getChunk('@INLINE <a href="#{$id}">{$pagetitle}</a>', $resource)}
{/foreach}
Понадобилось добавить ресурс и поместить его между существующих. Упорядочил ресурсы по menuindex. Теперь когда заменил 'sortby' => 'id' на 'sortby' => 'menuindex' то ничего не изменилось: добавленный ресурс вывелся последним как будто отсортировано по id. Более того, заметил что если менять сортировку на DESC тоже ничего не происходит, как будто этот код закэшировался… В чем может быть причина?
Анатолий
17 августа 2021, 09:05
modx.pro
253
0

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

Баха Волков
17 августа 2021, 10:58
1
+1
1. Если обратить внимание, то метод getResources принимает 2 атрибута

А у вас:

{var $resources = $_modx->getResources(
    ['published' => 0, 'deleted' => 0], // Первый атрибут
    ['parents' => 2], // Второй атрибут
    ['sortby' => 'id', 'sortdir' => 'ASC', 'limit' => 0] // Третий атрибут, который будет игнорирован
)}

2. Незачем использовать метод getChunk, хотя может быть вы это для примера написали, но на всякий случай:

// Не надо так
{foreach $resources as $resource}
    {$_modx->getChunk('@INLINE <a href="#{$id}">{$pagetitle}</a>', $resource)}
{/foreach}

// Надо вот так
{foreach $resources as $resource}
    <a href="#{$resource.id}">{$resource.pagetitle}</a>
{/foreach}
    Анатолий
    17 августа 2021, 11:02
    0
    Баха, спасибо! Не догадался внимательно рассмотреть getResources.
      Анатолий
      17 августа 2021, 11:11
      0
      Все получилось, так:
      ['published' => 0],
      ['parents' => 2, 'select' => 'id,pagetitle', 'sortby' => 'menuindex']
      А где можно узнать какие параметры должны передаваться в $where а какие в $options?
        Баха Волков
        17 августа 2021, 14:26
        1
        0
        А где можно узнать какие параметры должны передаваться в $where а какие в $options?
        В where выборка, а в options вот
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4