我想从texonomy_term视图中更改一些参数。预执行视图
function MYMODULE_views_pre_execute(&$view){
if ($view->name == 'taxonomy_term') {
$view->set_arguments(array(1)); // I want to change first arg to '1'
}
}
但没什么效果。在术语页面上,结果保持不变(默认)。
我想从texonomy_term视图中更改一些参数。预执行视图
function MYMODULE_views_pre_execute(&$view){
if ($view->name == 'taxonomy_term') {
$view->set_arguments(array(1)); // I want to change first arg to '1'
}
}
但没什么效果。在术语页面上,结果保持不变(默认)。
我找到了答案。我不得不使用hook_views_pre_view()
你不需要模块代码;您可以在Views UI中指定第一个参数应该默认为1(或任何其他值)。
您也可以在views参数部分将默认参数设置为'1'。
您也可以使用hook_views_pre_build。可悲的是,我没有找到一种方法来改变参数,而不是发送到视图。在这两个钩子$ view-> args中仍然是空的。 – gagarine 2011-08-21 14:46:29
view-> pre_execute做什么vs view-> execute? – 2015-10-14 15:07:13