我正在尝试使用drupal hook_views_pre_execute()更新视图查询 它正在更新查询,但即使我的查询只返回几个记录,在视图页面它显示底部的分页,但我已设置页面限制10.任何人都可以建议我如何解决此问题。
function mymodule_views_pre_execute(&$view)
{
switch($view->name)
{
case 'test_merchandise':
$view->build_info['query'] = "MY QUERY";
drupal_set_message($view->build_info['query']);
break;
}
}
答案 0 :(得分:3)
如果要更改视图查询,请使用此方法
function modulename_views_query_alter(&$view, &$query){
if ( $view->name == 'test_merchandise' ) {
//here you will get the whole $query object and alter only the place you want change
$query->orderby[0] = "substring(node_data_field_date_field_date_value,1,4) DESC";
echo "<pre>";print_r($query);echo "</pre>";
}
}