Сортировка Global PHP

27 ноября 2014 в 17:44

Подскажите как правильно сделать сортировку по полю Глобальный PHP?

return ($row1->php < $row2->php ? -1 : (int) $row1->php > $row2->php)

При данном раскладе сортируется в пределах только одной страницы, а нужно всех страниц.

Комментарии

Добавить материалу "техническое" поле, для хранения "веса" материала.
Заполнить его во всех материалах можно при помощи VBO.

Сортировать стандартно по этому полю.

Иначе или никак.. или без вьюса..самому делать выборку..

27 ноября 2014 в 19:08

orion76 wrote:
Добавить материалу "техническое" поле, для хранения "веса" материала.
Заполнить его во всех материалах можно при помощи VBO.

Сортировать стандартно по этому полю.

Иначе или никак.. или без вьюса..самому делать выборку..

Может я и намудрил, но в поле php я исходя из того, в какой валюте введен товар, вычисляю его стоимость в рублях.
И нужно отсортировать по этой стоимости.

27 ноября 2014 в 19:14

а разница есть...если введена стоимость в долларах, например 100
второй товар введен в рублях, например 1000 и т.д.
Все в поле пхп приводим к единой валюте и сортируем и исходной и получаем что 100уе(4600) меньше 1000руб.

27 ноября 2014 в 19:21

Самый простой, надежный и ,я считаю, правильный способ - это дополнительное поле для цены в "основной" валюте..
Все остальное - или костыли или геморрой-)

27 ноября 2014 в 19:56

тоже думал об этом, создать дополнительное поле и расчитывать кроном раз в сутки или в двое суток по текущему курсу, но если записей около 100 тыс, долговато будет

27 ноября 2014 в 20:07

Судя по описанию, этот модуль позволяет сортировать views(sql-выборку) по математическому выражению..
Но скорее всего, поможет только если цены в неболее чем в 2-х валютах..

https://www.drupal.org/project/views_calc

UPD: возможно еще и вот-этот https://www.drupal.org/project/views_aggregator

UPD1: Хотя врядли эти модули могут условные выражения в sql-запросе..

27 ноября 2014 в 20:25

почитал описание, завтра попробую поставить и покрутить модуль, но врядли он справится с поставленной задачей.

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

27 ноября 2014 в 22:59

можно выбрать Execute arbitrary PHP script, но там вручную вводить скрипт, но может можно в самом views прописать поле php и views bulk operations подхватить это поле?

28 ноября 2014 в 15:05

пошел более легким путем.
Создал дополнительное поле, куда привожу стоимость к одниной валюте, по которому потом и сортирую. Но теперь есть необходимость переодически обновлять это поле после обновления курса. Тут уже приходить крон на помощь. Завтра буду разбираться как запустить пхп скрипт через крон.

29 ноября 2014 в 0:39