如何将参数传递给Drupal View?

时间:2012-09-01 22:51:16

标签: drupal-7 drupal-views

我需要将参数从我的模块传递给View;例如,我想传递节点标题的一部分,并需要获取以该值开头的所有节点。

我不能使用暴露的过滤器,因为我有一个特定的布局,无法使用暴露的过滤器设计,所以我需要以编程方式传递参数。

我想使用Contextual过滤器,但我还没有找到指定“Starts with”指令的方法。

如何传递过滤器/参数?

3 个答案:

答案 0 :(得分:3)

$view = views_get_view('machine_name_of_view');
$view->set_arguments(array('argument1', 'argument2'));
$view->execute();

答案 1 :(得分:2)

$nids = array(123);
$view = views_get_view('news');
$view->set_arguments($nids);
$preview = $view->preview('page_1');
$view->destroy();
return $preview;

答案 2 :(得分:0)

  $nid_str = implode(",",$nid_arr['nid']); // i.e. "1,2,3,4"

  $view = views_get_view('view_name');
  $view->set_display('view_display');
  $view->set_arguments(array($nid_str));
  $view->dom_id = 'view_dom_id';
  $output .= $view->render();