视图/标志关系 - 参数拼图

时间:2009-11-19 20:47:13

标签: drupal

我目前正在努力解决观点关系 - 争论之谜。

我有一个名为“收藏夹”的标记设置,以便用户可以收藏网站内容。我也在使用内容配置文件和Pathauto。现在,我正在向用户内容配置文件添加视图内容附件,以显示用户选择的收藏夹。

Pathauto的默认内容配置文件路径是:member / [title-raw] - 因此用户配置文件页面的典型别名是:member / john-smith(请记住配置文件节点ID不同作为用户ID)

这是我的观点设置: 关系:标志:收藏夹 - BY:任何用户

争论:这是我理解失败的地方。我需要以某种方式从当前配置文件的URL中获取用户名或uid。

任何关于让这个东西起作用的正确论据的想法?我一直在尝试发生在我身上的所有可能性,到目前为止还没有运气。

由于

2 个答案:

答案 0 :(得分:1)

  1. 在“视图设置”中,单击“参数中的+”以添加参数。
  2. 在参数设置中,从“组”下拉列表中选择“用户”。
  3. 选中“用户:姓名”
  4. 点击“添加”按钮
  5. 保存您的观点
  6. 只要这是您唯一的参数,您只需在URL中传入用户名即可。在您的示例中,请参阅john-smith的视图,您将导航到http://example.com/viewname/john-smith

    那将是页面类型视图。

    如果要创建块视图类型,则无法在URL中传递参数。对于块类型视图,请按照下列步骤操作:

    1. 在“视图设置”中,单击“参数中的+”以添加参数。
    2. 为“默认参数类型”选择“PHP代码”
    3. 为PHP代码输入以下内容

      if(arg(0)=='viewname'&& arg(1)!=''){     return arg(1); }

    4. 现在该块将从URL获取参数,类似于页面视图的参数。

答案 1 :(得分:0)

如果您愿意使用自定义PHP代码来获取参数,http://api.drupal.org/api/function/drupal_get_normal_path/6是您的朋友。你可以传递你用arg(0)访问的别名。'/'。arg(1)