9
votes

Comment afficher la requête exécutée par la vue de drupal

Je veux afficher la requête exécutée dans la vue Drupal. Actuellement, dans l'éditeur d'affichage, il affiche la requête, mais j'ai besoin d'utiliser cette requête dans mon code pour télécharger une version Excel de la vue.

Y a-t-il un moyen d'obtenir la requête exécutée de la même manière que celle indiquée dans la fenêtre "Editeur" du menu Vues? Je le veux au moment où la vue est affichée.

Qu'est-ce que je prévois de faire ici est de capturer la requête dans le pied de page et d'avoir cette requête affichée à un processus qui renvoie à un résultateur XLS. Je voudrais donc que la question exacte de la vue utilise pour afficher les résultats.


0 commentaires

7 Réponses :


2
votes

Le Devel Module peut enregistrer les requêtes pour vous.


0 commentaires

0
votes

http://drupal.org/project/views_bonus aidera à exporter des vues. < / p>


0 commentaires

3
votes

La requête existe dans l'objet View. Selon l'endroit où vous souhaitez l'utiliser, vous voudrez peut-être ajouter la variable dans une fonction de préprocession de vues ou l'emplacement que vous appelez la vue (si vous l'appelez de manière programmative).

Si vous utilisez simplement le modèle par défaut Pour ce faire, vous pouvez y avoir accès là-bas: P>

// ex. somewhere in your views-view--VIEW_NAME.tpl.php
<?php print db_prefix_tables($view->build_info['query']); ?>


3 commentaires

Cela semble plus ou moins ce que je veux, mais j'essaie de mettre cela dans le "pied de page" vs la vue.tps.php. J'ai essayé d'ajouter des globales $ vue mais cela n'a rien retourné. Cela semble prometteur si je peux le faire fonctionner.


Woot, je suis presque là, je l'ai eu du travail, à l'exception de la substitution des données de formulaire. Qu'est-ce qui manque? $ Current_View = Vues_GET_CURRENT_VIEW (); Imprimer db_prefix_tables ($ Current_View-> build_info ['Query']); Cependant, la requête revient avec [SQL CLIPPED] où (nœud.status <> 0) et (node.type in ('% s')) et (casetracker_case.case_status_id = '% s') Commande par node_comment_statistics_last_updétistique Desc Comment faire Je reçois la substitution% s incluse?


Je l'ai utilisé en utilisant le Query_args et en fonctionnant sur Sprintf. Merci une tonne, tu m'as sauvé beaucoup de travail.



4
votes

Définissez le format d'entrée du pied de page sur PHP et coller cet extrait dans le texte de pied de page: xxx

pour une requête en surbrillance de la syntaxe (utilisation geshifilter.module ) , utilisez l'extrait de suivi: xxx

(tigu de la réponse @ Owen et de la discussion avec @ Mech-logiciel dans les commentaires.)


0 commentaires

-1
votes

Comment générer des requêtes sur l'écran.

Cela fonctionne pour moi à Drupal 7.

aller à:

vues / plugins / vues_plugin_query_default.inc

trouver cette fonction: xxx

juste avant la fin de la fonction, utilisez dpq ($ requis); xxx


0 commentaires

0
votes

comme une note latérale, Pour l'exportation Excel, avez-vous essayé des vues Module d'exportation de données?


0 commentaires

7
votes

ou vous pouvez utiliser Hook_views_pre_execute Code> ainsi que la fonction DPQ de Devel:

function MY_MODULE_views_pre_execute(&$view) {
  dpq($view->build_info['query']);
}


0 commentaires