Сортировка по отрицательным числам в pdoResources
Коллеги, доброго дня! Неожиданно появился вопрос касающийся сортировки по отрицательным/положительным числовым значениям в pdoResources.
Дело в следующем. На главную страницу раздела с видеороликами выводятся их анонсами с отрицательным/положительным рейтингом последних. Задача в том, чтобы сортировать их вывод по этому самому рейтингу (данные голосования в виде отрицательных и положительных целых чисел записываются в отдельный tv rating каждого выводимого ресурса).
Вызов pdoResources:
Ролики с положительным рейтингом (5, 2 и так далее) выводятся в правильном порядке, по убыванию, но когда нужно сортировать отрицательный рейтинг, получается «шляпа». То есть выводятся они примерно так (от положительных до отрицательных) — «5, 2, -3, -1», хотя, согласно логике, нужно, чтобы выводились так — «5,2,-1,-3»
Буду благодарен за совет и правильный пинок :)
Дело в следующем. На главную страницу раздела с видеороликами выводятся их анонсами с отрицательным/положительным рейтингом последних. Задача в том, чтобы сортировать их вывод по этому самому рейтингу (данные голосования в виде отрицательных и положительных целых чисел записываются в отдельный 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»
Буду благодарен за совет и правильный пинок :)
Комментарии: 4
В настройках ТВ укажи ему тип «число», если хочешь, чтобы он сортировался как число, а не строка.
Спасибо, Вася. Забыл упомянуть, что этот tv — скрытый. Я с «числом» первым делом пробовал. Плюнул, и просто скрыл тивишку для определённой группы пользователей.
И? Если ТВ типа «число», то сортировка работает? А ты хочешь, сортировать как число скрытый ТВ или что?
Если так, то можно использовать CAST
Если так, то можно использовать CAST
[[!pdoResources?
&parents=`0`
&includeTVs=`name`
&sortby=`CAST(TVname.value AS DECIMAL(13,3))`
&sortdir=`ASC`
]]
Да, работает. Да, бог с ним. А за последнюю подсказку тебе еще раз большое спасибо. :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.