我正在尝试使用 drupal hook_views_pre_execute() 更新 View 查询。
它正在正确更新查询,但即使我的查询只返回几条记录,在 View 页面中,它在底部显示分页,但我已设置页面限制 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;
}
}
最佳答案
如果您想更改 View 查询,请使用此方法
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>";
}
}
关于drupal - 如何更改 drupal-6 view-2 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474734/