【问题标题】:Custom query in drupal views - now can't sortdrupal 视图中的自定义查询 - 现在无法排序
【发布时间】:2010-07-05 13:52:11
【问题描述】:

带有自定义查询的视图显示在标题为“下载最多”的右侧边栏中: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";
     }
}
?>

粘贴箱:

知道为什么我不能对视图进行排序吗?提前致谢。

【问题讨论】:

    标签: drupal mysql sorting drupal-views


    【解决方案1】:

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

    【讨论】:

    • 感谢您的快速回答。有什么方法可以恢复该功能并保留我的自定义查询?
    • 这是我没有覆盖的查询:SELECT node.nid AS nid, node.title AS node_title, 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) ORDER BY pubdlcnt_count DESC 作为 Drupal 和 Views 的新手,我认为稍微改变它不会对视图的可用性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    相关资源
    最近更新 更多