Active
Project:
Views Filter Pack
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
21 Dec 2009 at 07:33 UTC
Updated:
24 Dec 2009 at 14:03 UTC
This view was working well a month ago, I updated views and Drupal to the latest versions, and now I see that the vocabulary id is not passed to the view query, thus, no results are returned.
$view = new view;
$view->name = 'by_destination';
$view->description = 'Browse by Destination';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('sorts', array(
'changed' => array(
'order' => 'DESC',
'granularity' => 'second',
'id' => 'changed',
'table' => 'node',
'field' => 'changed',
'relationship' => 'none',
),
));
$handler->override_option('filters', array(
'status' => array(
'operator' => '=',
'value' => '1',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'status',
'table' => 'node',
'field' => 'status',
'relationship' => 'none',
),
'type' => array(
'operator' => 'in',
'value' => array(
'forum' => 'forum',
'book' => 'book',
'event' => 'event',
'gallery' => 'gallery',
'major' => 'major',
'story' => 'story',
'studyprogram' => 'studyprogram',
'university' => 'university',
),
'group' => '0',
'exposed' => TRUE,
'expose' => array(
'use_operator' => 0,
'operator' => 'type_op',
'identifier' => 'type',
'label' => 'Content Type',
'optional' => 1,
'single' => 1,
'remember' => 0,
'reduce' => 1,
),
'id' => 'type',
'table' => 'node',
'field' => 'type',
'relationship' => 'none',
),
'term_node_tid_depth' => array(
'operator' => 'or',
'value' => array(),
'group' => '0',
'exposed' => TRUE,
'expose' => array(
'operator' => 'term_node_tid_depth_op',
'label' => 'Destination',
'use_operator' => 0,
'identifier' => 'destination',
'optional' => 1,
'single' => 1,
'remember' => 0,
'reduce' => 0,
),
'type' => 'select',
'limit' => TRUE,
'vid' => '3',
'depth' => '3',
'id' => 'term_node_tid_depth',
'table' => 'node',
'field' => 'term_node_tid_depth',
'hierarchy' => 1,
'relationship' => 'none',
'reduce_duplicates' => 1,
'views_filter_pack_element_type' => NULL,
),
'content_negotiation' => array(
'operator' => '',
'value' => '',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'content_negotiation',
'table' => 'node',
'field' => 'content_negotiation',
'relationship' => 'none',
),
'vid' => array(
'operator' => 'in',
'value' => array(
'3' => '3',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'vid',
'table' => 'term_data',
'field' => 'vid',
'relationship' => 'none',
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('cache', array(
'type' => 'time',
'results_lifespan' => '3600',
'output_lifespan' => '3600',
));
$handler->override_option('title', 'Browse by Destination');
$handler->override_option('use_pager', '1');
$handler->override_option('distinct', 1);
$handler->override_option('row_plugin', 'node');
$handler->override_option('row_options', array(
'relationship' => 'none',
'build_mode' => 'teaser',
'links' => 0,
'comments' => 0,
));
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->override_option('path', 'destination/all');
$handler->override_option('menu', array(
'type' => 'normal',
'title' => 'All Destinations',
'description' => '',
'weight' => '50',
'name' => 'primary-links',
));
$handler->override_option('tab_options', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
));
Query when supplying all filters
SELECT DISTINCT(node.nid) AS nid,
node.changed AS node_changed
FROM node node
LEFT JOIN term_node term_node ON node.vid = term_node.vid
LEFT JOIN term_data term_data ON term_node.tid = term_data.tid
WHERE (node.status <> 0) AND (node.type in ('3')) AND (node.vid IN (
SELECT tn.vid FROM term_node tn
LEFT JOIN term_hierarchy th ON th.tid = tn.tid
LEFT JOIN term_hierarchy th1 ON th.parent = th1.tid
LEFT JOIN term_hierarchy th2 ON th1.parent = th2.tid
LEFT JOIN term_hierarchy th3 ON th2.parent = th3.tid
WHERE tn.tid = 0
OR th1.tid = 0
OR th2.tid = 0
OR th3.tid = 0
)) AND (node.language ='en' OR node.language ='' OR node.language IS NULL) AND (term_data.vid in (''))
GROUP BY nid
ORDER BY node_changed DESCnotice term_data.vid in ('')
Query with blank arguments:
SELECT DISTINCT(node.nid) AS nid,
node.changed AS node_changed
FROM node node
LEFT JOIN term_node term_node ON node.vid = term_node.vid
LEFT JOIN term_data term_data ON term_node.tid = term_data.tid
WHERE (node.status <> 0) AND (node.language ='en' OR node.language ='' OR node.language IS NULL) AND (term_data.vid in ('%s'))
GROUP BY nid
ORDER BY node_changed DESCnotice term_data.vid in ('%s')
Comments
Comment #1
alayham commentedComment #2
dawehnerMh i importet the view and produced the following query:
Comment #3
alayham commentedI deleted the view and reimported it, same result.
also, the filter code says:
If it is working well, the query should have
AND (term_data.vid in ('3'))not
AND (term_data.vid in ('2'))please correct me if I am wrong.
Comment #4
dawehnerI had to use another vocabulary, because i didn't had one with vid = 3, but i had one with vid = 2
Comment #5
alayham commentedDisabled views filter pack, now all works fine.