【问题标题】:How do i pass arguments to a Drupal View?如何将参数传递给 Drupal 视图?
【发布时间】:2012-09-01 22:51:15
【问题描述】:

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

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

我想使用上下文过滤器,但我没有找到指定“开始于”指令的方法。

我可以做些什么来传递过滤器/参数?

【问题讨论】:

    标签: drupal-7 drupal-views


    【解决方案1】:
    $view = views_get_view('machine_name_of_view');
    $view->set_arguments(array('argument1', 'argument2'));
    $view->execute();
    

    【讨论】:

      【解决方案2】:
      $nids = array(123);
      $view = views_get_view('news');
      $view->set_arguments($nids);
      $preview = $view->preview('page_1');
      $view->destroy();
      return $preview;
      

      【讨论】:

        【解决方案3】:
          $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();
        

        【讨论】:

        • 最好解释一下你对代码做了什么。要有建设性。
        猜你喜欢
        • 2011-12-09
        • 2011-06-27
        • 2015-10-02
        • 1970-01-01
        • 2022-11-23
        • 1970-01-01
        • 2018-01-08
        • 2011-10-07
        • 2011-06-16
        相关资源
        最近更新 更多