我安装了CCK和Views模块。为了这个问题范围,我将内容类型称为项目。 项目有许多成员。
可以通过 / project / project-name 访问项目节点。我希望能够通过路径 / project / project-name / members 显示成员列表。
有没有办法做到这一点?
目前我在路径 / project /%/ members 上有页面显示的视图设置,并从网址获取参数。我意识到我不能直接使用“来自URL的节点ID”选项,因为它是节点名而不是节点ID。因此我尝试启用“PHP代码”参数。但问题是,Drupal Views总是假设参数是“project-name”,因此忽略了我的php代码参数设置。有谁知道我怎么能这样做?
由于
答案 0 :(得分:2)
是的,您实际上可以使用“来自URL的节点ID”选项,您应该这样做。
使用path或pathauto模块以project / project-name的形式为项目生成人类可读的URL。这将为节点创建一个人类可读的别名,但底层的Drupal系统路径仍然是node / nid。
视图仍然可以使用“来自URL的节点ID”作为参数(或者语义过滤器,因为它们在Drupal 7中已知),即使对于那些丑陋的路径具有人类可读的别名。
答案 1 :(得分:1)
如果项目的名称是节点标题,您可以非常轻松地获得所需的内容。
您可以将节点标题作为参数而不是nid传递,但结果将是相同的。您可以选择使用小写,变换 - 空间等,因为与节点标题相比,您在网址中可以执行的操作是有限的。
视图的其余部分与在url中使用节点nids的解决方案相同。
答案 2 :(得分:0)
您需要为/ project / project-NID / members创建/ project / project-Name / members的路径别名
答案 3 :(得分:0)
一个月前我问过这个确切的问题。 :)