drupal视图中的自定义查询 - 现在无法排序

时间:2010-07-05 13:52:12

标签: drupal mysql sorting drupal-views

自定义查询的视图显示在右侧边栏标题为“Most Downloaded”的位置:http://tf2huds.com。视图生成的查询视图位于其下方。

要放入自定义查询,我在views.module文件中使用此代码:

<?php
function views_views_pre_execute(&$view) {
   if($view->name=="hud_downloads") {
     $view->build_info['query']="SELECT node.nid AS nid, 
         node.title AS node_title, 
         SUM(pubdlcnt.count) AS pubdlcnt_count 
         FROM node node 
         LEFT JOIN pubdlcnt pubdlcnt ON node.nid = pubdlcnt.nid  
         WHERE (node.type in ('huds')) AND (node.status <> 0) 
         GROUP BY node.nid ORDER BY pubdlcnt_count DESC";
     }
}
?>

Pastebins:

知道为什么我不能理清我的观点吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您无法对视图进行排序,因为您将SQL硬编码为始终相同。因此,当您通过表格更改带有视图的SQL时,它会被views_views_pre_execute函数覆盖。