drupal视图阻止参数

时间:2010-04-20 17:18:16

标签: drupal views arguments

我目前有一个视图(使用Views2的Drupal 6)可以正确聚合自定义内容类型(视频)并过滤它们以进行页面显示。当我创建一个块显示时,它会在实时预览中预览结果,但是当我转到页面时,期望看到它不会出现。

我很确定我试图传递它的参数失败,因为当我选择“显示所有结果”为“如果参数不验证时采取的动作:”,该块就显示在页面上就好了。 / p>

任何建议都值得赞赏。

2 个答案:

答案 0 :(得分:2)

您可以在“提供默认参数”部分中使用PHP代码。假设您正在使用菜单回调来应用参数,您可以这样做:

<?php

if(args(0) == 'your-menu-path' && args(1) != ''){
    return args(1)
}

?>

确保将默认参数传递给'views-embed-view()',如果您使用它来将视图放在页面上,否则它根本不会显示。

答案 1 :(得分:0)

在Drupal 7中,要弄清楚你所在的节点,请遵循corneliusk关于将其作为默认参数的答案。但是,不要包含php标签,它只是“arg”而不是d7的“args”。例如:

if(arg(0) == 'node' && arg(1) != ''){
    return arg(1);
}
else {
  return "";
}