Как во views сделать сортировку по количеству скачиваний файла размещенного при помощи filefield?

Главные вкладки

Аватар пользователя Sentrashy@drupal.org Sentrashy@drupal.org 6 декабря 2010 в 7:19

Как во views сделать сортировку нод по количеству скачиваний файла прикрепленного к ноде при помощи filefield? Вопрос простой поидее, но никак не пойму как это сделать. Помогите, пожалуйста.

Комментарии

Аватар пользователя petrovnn petrovnn 10 ноября 2015 в 11:47

Меня терзают смутные сомнения в том что это может сделать views.

У меня уже несколько раз возникала подобная задача, и нужно было сделать:

  • сортировку нод по количеству ее редакций
  • сортировку нод по количеству голосов за нее (vote up/down)

И не на одном проекте. В данном вопросе от ковыряний с views небыло никакого толку, в итоге написал свои SQL запросы чтобы из базы выгребать желаемое.

Я вот тут задавал вопрос господину glu2006, можно-ли это сделать на вьюс, и так понял что молчание в ответ означало как раз ни согласие, а отрицание. Т.е. я сделал вывод что это вьюха не может.

Хотя к вьюсам есть куча плагинов, возможно какие-то из них и дадут необходимый функционал, но мне было проще решить задачу одним скуль-запросом.

Вот запрос, который выводит список нодов вместе с алиасами, отсортированных по количеству редакций:

SELECT
    COUNT( * ) AS ncount,
    node_revisions.nid,
    node_revisions.title,
    node.nid,
    url_alias.dst
   
FROM
    node_revisions  JOIN
    node  JOIN
    url_alias

WHERE
    node_revisions.nid = node.nid
    AND node.type = "page"
    AND url_alias.src =  CONCAT("node/", node.nid)

GROUP BY node_revisions.nid

ORDER BY ncount DESC
LIMIT 0 , 50

У меня есть смутные подозрения, что вашу задачу можно решить схожим способом. Возможно у вас есть таблица скачиваний (тогда это будет аналог моей таблицы node_revisions), но точно не скажу, у меня нет необходимости считать скачивания, а спецом ставить модуль чтобы разобраться в вашем вопросе - не буду.

Посмотрите что находится в таблицах вашей базы
node_revisions (если есть)
node
url_alias

и примерно должно быть понятно какие данные берет этот запрос.

Аватар пользователя Sentrashy@drupal.org Sentrashy@drupal.org 28 января 2011 в 22:31

"petrovnn" wrote:
сортировку нод по количеству голосов за нее (vote up/down)

Насколько помню, если для vote up/down нужен voting api, то через relationship во вьюхе это выводится.

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

А так, у меня же не уникальный сайт, по теме то. Во многих аналогах есть статы: кол-во просмотров, кол-во скачиваний. Вот я и решил, чтто для Друпала то уж решение точно должно быть, но пока не нашел=)
[module=download_count] должен помочь, но он толко из dev в beta перешел, надо будет посмотреть.