Problema con hook_views_query_alter() drupal 7

2 contenuti / 0 new
Ultimo contenuto
Problema con hook_views_query_alter() drupal 7

Ciao a tutti,
ho un problema con questo hook..Ho creato un modulo che mi intercetti questo hook in modo da poter modificare la query di una vista. Ciò mi serve perchè devo inserire nella query di una vista in join ad una tabella presente nel database di drupal che però ho creato io a mano con un altro modulo. Qualcuno sa come fare?? io ho fatto così:

if($view->name == 'gruppi_d_acquisto_profilo'){
    $view->query->add_relationship('iscrizione_gda', new views_join('iscrizione_gda', 'node', 'nid', 'id_gda','INNER'),'node');
    $view->query->add_where('iscrizione_gda', "iscrizione_gda.id_utente", $user->uid);
  }

ma non mi sembra che funzioni il join.

IMHO ti conviene far riconscere a views la tua tabella, poi usare le relationship per mettere in JOIN le tabelle (se non le fai auto-joinare). La guida è per D6 e V2, ma i concetti sono gli stessi.

In alternativa puoi pensare di usare l'hook da te segnalato, andando ad alterare l'oggetto $query ad esempio:

<?php
$query
->join('nome_tabella', 'alias_tab', 'n.nid = alias_tab.nid');
?>

anche se in questo modo IMHO ti perdi la flessibilità di avere le configrazioni di views gestibili da UI e riutilizzabili in views differenti.

Ciao
Marco
--
My blog
Working at @agavee