2011-10-12 101 views
0

我不明白如何在Drupal 6中为此设置块视图:Drupal 6 - 如何设置VIEWS块?

用户提交图片。如果获得批准,我将其上传到网站。

有一个节点显示图片的详细信息和作者信息。我想有一个块,说,更多由这个作者。此块将列出此作者提交的更多图像。我怎样才能做到这一点?

网址是:mysite/content/name-of-image所以我不知道如何创建一个视图来显示这个作者的所有图像,因为用户名不在URL中。有人能告诉我如何做到这一点?

谢谢。

回答

0
  • 将一个用户:uid参数添加到视图中。
  • 为这个论点选择“提供deafult论证”选项。
  • 选择“php code”作为默认参数类型。
  • 回车下面的PHP代码:

    if (arg(0) == 'node' && is_numeric(arg(1))) { 
        $node = node_load(arg(1)); 
        $uid = $node->uid; 
    } 
    return $uid; 
    
你的情况

要从节点的CCK领域的UID,所以PHP代码应该是这样的:

if (arg(0) == 'node' && is_numeric(arg(1))) { 
    $node = node_load(arg(1)); 
    //if the field contains a user id 
    $uid = $node->field_authorid[0][value]; 

    //if the field contains a username 
    $user = user_load(array('name' => check_plain($node->field_authorname[0][value]))); 
    $uid = $user->uid; 
} 
return $uid; 

现在您将在url中拥有来自节点的作者用户标识。 现在您可以将字段添加到由此作者创建的节点的视图中。

注意:视图预览不会显示任何结果,因此您必须保存此视图并在视图构建器之外对其进行测试。

+0

谢谢,但我不认为你明白我在做什么。为什么参数是节点:id?我可以访问这个“图像细节”节点中的content_author字段。我只需要以某种方式显示作者提交的所有图像。 – Adam

+0

对不起,我是misead。我认为“更多关于这位作者”应该放在方块视图中,并且在更多的图像中以独立的视角来概述。我将更改答案 – jan

+0

这不是“该作者的更多评论”,而是“该用户的更多图片”。另外,我提到** I **批准并上传作者图片,因此node:id总是我 - 而不是图片的作者。所以,我有一个页面,其中包含用户提交的大图,并且会显示其旁边的所有详细信息,包括作者的用户名。下面是一个应该显示该作者提交的所有其他图像的块视图。 – Adam