2010-07-05 5 views
0

La vue avec la requête personnalisée est affichée dans la barre latérale droite intitulée «Most Downloaded» ici: http://tf2huds.com. La vue avec la requête générée par les vues est juste en dessous.Requête personnalisée dans les vues drupal - maintenant impossible de trier

Pour mettre dans la requête personnalisée J'utilise ce code dans le fichier 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"; 
    } 
} 
?> 

pastebin:

Une idée de pourquoi je ne peux pas trier mon point de vue? Merci d'avance.

Répondre

2

Vous ne pouvez pas trier la vue, car vous codez le code SQL de manière à toujours être identique. Ainsi, lorsque vous modifiez le SQL avec des vues, via la table, il est remplacé par votre fonction views_views_pre_execute.

+0

Merci pour la réponse rapide. Est-il possible de restaurer cette fonctionnalité et de conserver ma requête personnalisée? – Radu

+0

Il s'agit de la requête pour celle que je n'ai pas écrasée: SELECT node.nid AS nid, node.title AS noeud_title, pubdlcnt.count AS pubdlcnt_count FROM noeud noeud LEFT JOIN pubdlcnt pubdlcnt ON noeud.nid = pubdlcnt.nid O WH (node.type in ('huds')) ET (node.status <> 0) ORDER BY pubdlcnt_count DESC Étant nouveau pour Drupal et Views, je me suis dit que le changer un peu n'aurait pas d'effet sur l'utilisabilité de la vue. – Radu