Drupal过滤器无法正常工作

时间:2011-10-12 12:53:16

标签: drupal drupal-nodes drupal-contextual-filters

我不确定如何询问,所以如果您需要更多信息,请提出要求!

场合
我有一个三种语言的网站。我在网上收到了很多客户案例,每个案例都与一个部门相关(取决于他们所属的部门)。每个部门和参考都有自己唯一的nid

在我的template.php中,它的声明如下:

if ('sector' == $vars['node']->type) {
        $lang = '/'.$vars['language'].'/';

        $key_path = $_SERVER['REQUEST_URI'];
        $key_path = substr_count($key_path, $lang) ? substr($key_path, strlen($lang)) : $key_path;
        if (strpos($key_path, '?')) $key_path = substr_replace($key_path, '', strpos($key_path, '?'));

        if (strpos($key_path, 'sectors-references') === 0) {        
            $view = views_get_view('references');
            if (!empty($view)) {
                $view->set_arguments((int)$vars['node']->nid);  
                $vars['content']['suffix'] = $view->render();

            }
        }
    }

然而,每个部门都向我展示了相同的参考资料......我需要改变什么来在正确的部门下获得正确的参考?

1 个答案:

答案 0 :(得分:2)

通常使用数组将参数传递给set_arguments,如果传递非数组,则可能会忽略该参数,这就是为什么你总是得到相同的结果。尝试:

$view->set_arguments(array((int)$vars['node']->nid));