Revision: 20436
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 16, 2009 06:42 by ReeceMarsland
Initial Code
<?php /** * Implementation of hook_views_query_alter(). */ function modulename_views_query_alter(&$view, &$query) { if ($view->name == 'viewname') { $type_clause = FALSE; // check to see if we already have a node.type clause foreach ($query->where[0]['clauses'] as $clause) { if (substr(0, 10, $clause) == 'node.type ') { // yes, we do $type_clause = TRUE; } } // if we don't, let's OR our content types together and add a clause if (!$type_clause) { // get types from the view $types = $view->filter['type']->options['value']; // we want an OR query $query->where[1]['type'] = 'OR'; // add each type in turn to the clauses and args for this query foreach ($types as $type) { $query->where[1]['clauses'][] = "node.type in ('%s')"; $key = key($query->where[1]['clauses']); next($query->where[1]['clauses']); $query->where[1]['args'][$key] = $type; } } } } ?>
Initial URL
Initial Description
Initial Title
hook_views_query_alter drupal 6.x
Initial Tags
query, drupal
Initial Language
PHP