将cck字段作为视图中的参数传递

时间:2011-04-19 09:00:43

标签: drupal drupal-6 drupal-views content-type cck

我有一个名为event的内容类型,它有一个名为event id的cck字段。这个想法是,一旦用户使用该id访问该URL,则仅显示与该事件id相关的信息。在我看来,我尝试创建一个块视图并将事件id作为参数传递,一旦我这样做,以前在实时预览中显示的结果就会消失。不能确定我做错了什么,或者是否我应该是块视图。这应该是页面视图吗?请帮忙。

1 个答案:

答案 0 :(得分:1)

我认为你应该创建一个页面视图而不是块视图。你必须传递一个论点。事件ID是否等于NodeID?如果是,则应添加类型为Node:NID的Argument,然后将“Provide default argument”设置为“来自URL的节点ID”。

如果EventId不是NID,那么你应该将Default Argument设置为PHP并提供以下PHP:

$path = drupal_get_path_alias($_GET["q"]); //get the URL alias
$path = explode("/", $path); //break path into an array
if ($path[0] == "events" && $path[1] != "")
{
  return $path[1];
}

上面的代码将从URL中获取参数(URL应该像www.example.com/events/14555

我使用drupal_get_path_alias的原因是你可能启用了pathauto模块。如果没有,你可以给出以下php

if (arg(0) == ‘events’ && arg(1) != ”) return arg(1);