Сортировка по отрицательным числам в pdoResources

Коллеги, доброго дня! Неожиданно появился вопрос касающийся сортировки по отрицательным/положительным числовым значениям в pdoResources.
Дело в следующем. На главную страницу раздела с видеороликами выводятся их анонсами с отрицательным/положительным рейтингом последних. Задача в том, чтобы сортировать их вывод по этому самому рейтингу (данные голосования в виде отрицательных и положительных целых чисел записываются в отдельный tv rating каждого выводимого ресурса).

Вызов pdoResources:

[[!pdoPage? &element=`pdoResources` &sortby=`{"rating":"DESC"}` &limit=`10` &tplWrapper=`indexNewsWrapperTpl` &tpl=`indexSingTpl` &tpl_n4=`indexSing4Tpl` &includeTVs=`rating` &tvPrefix=`` &processTVs=`1` ]]


Ролики с положительным рейтингом (5, 2 и так далее) выводятся в правильном порядке, по убыванию, но когда нужно сортировать отрицательный рейтинг, получается «шляпа». То есть выводятся они примерно так (от положительных до отрицательных) — «5, 2, -3, -1», хотя, согласно логике, нужно, чтобы выводились так — «5,2,-1,-3»

Буду благодарен за совет и правильный пинок :)
Andrei Kulazhenko
19 сентября 2014, 11:31
modx.pro
1 638
0

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

Василий Наумкин
19 сентября 2014, 15:37
+1
В настройках ТВ укажи ему тип «число», если хочешь, чтобы он сортировался как число, а не строка.
    Andrei Kulazhenko
    19 сентября 2014, 21:32
    0
    Спасибо, Вася. Забыл упомянуть, что этот tv — скрытый. Я с «числом» первым делом пробовал. Плюнул, и просто скрыл тивишку для определённой группы пользователей.
      Василий Наумкин
      19 сентября 2014, 21:43
      1
      0
      И? Если ТВ типа «число», то сортировка работает? А ты хочешь, сортировать как число скрытый ТВ или что?

      Если так, то можно использовать CAST
      [[!pdoResources?
      	&parents=`0`
      	&includeTVs=`name`
      	&sortby=`CAST(TVname.value AS DECIMAL(13,3))`
      	&sortdir=`ASC`
      ]]
        Andrei Kulazhenko
        19 сентября 2014, 22:34
        0
        Да, работает. Да, бог с ним. А за последнюю подсказку тебе еще раз большое спасибо. :)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4