如何将数组作为上下文过滤器传递给视图

时间:2014-07-23 05:57:33

标签: view drupal-7 drupal-contextual-filters

我是Drupal的新手。我目前正在使用drupal 7开发一个电子商务网站。我想知道如何将一个nid数组传递给views_embed_view('view_name','display_name',contextual filter)上下文过滤器。这是我的示例代码 -

foreach($result as $record)
    {
        $querystring .= "+";
        $querystring .= $record->nid;       
    }
    $querystring = ltrim($querystring, '+');
    views_embed_view('tours_listings', 'page_2',$querystring);

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式添加完成此操作: 检查

  

在视图上下文设置页面上允许多个值。

     

如果选中,用户可以以1 + 2 + 3的形式输入多个值。应有   到它需要的JOIN数量,AND将被视为OR   使用此过滤器。

然后代替上面的代码: $recordIds = array(); foreach($result as $record) { $recordIds[] = $record->nid; } $querystring = implode('+', $recordIds); //Do not forget to print this out. print views_embed_view('tours_listings', 'page_2', $querystring);