[РЕШЕНО]Как сортировать данную конструкцию?

Добрый день как сортировать вывод полей слайдера?
{set $rows = json_decode( 3 | resource: 'item', true)}
{foreach $rows as $idx => $item}
        {if $idx == '0'}
            <div class="item active">
                Содержимое  
            </div>
        {else}
            <div class="item">
                Содержимое                               
            </div>
        {/if}
    {/foreach}
Сергей
20 марта 2019, 14:17
modx.pro
1
679
0

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

Игорь
20 марта 2019, 14:53
1
+2
Я бы написал сниппет, который сортирует массив объектов по нужному полю и передал $rows в него.
Примерно так:

function mySort($f1,$f2)
   {
      if($f1->tagname < $f2->tagname) return -1;
      elseif($f1->tagname > $f2->tagname) return 1;
      else return 0;
   }
 
   // uasort – сортирует массив, используя пользовательскую функцию mySort
   uasort($arr,"mySort");
   print_r($arr);
    Сергей
    20 марта 2019, 14:55
    0
    Спасибо за решение!
      Сергей
      20 марта 2019, 15:05
      0
      Нашел еще можно вот так, можно же с конца начать цикл!)
      {foreach $rows as $_last => $item}
          {if $_last == '1'}
              содержимое
          {/if}
      {/foreach}
        Сергей
        20 марта 2019, 15:08
        0
        Хотя нет, так не правильно)
          Игорь
          20 марта 2019, 15:22
          0
          Смысл своей функции сортировки в универсальности. Если просто развернуть массив надо, то array_reverse вам в помощь. А приведенный код по виду просто выведет второй элемент массива. Оно у вас сработало как надо?
          P.S. Да, увидел что не как надо.
          В общем если надо просто развернуть массив то:
          {set $rows = array_reverse(json_decode( 3 | resource: 'item', true))}
            Сергей
            20 марта 2019, 15:24
            0
            Нет я написал что не правильно) Вывел второй массив с конца, и потом сначала погнал!
              Игорь
              20 марта 2019, 15:27
              0
              Сорян, не сразу увидел.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7