2009-11-22 62 views
0

我有两种内容类型,书籍和章节。每个章节节点都包含它所属书籍的节点引用。我创建了一个视图,显示给定书籍的每章的标题。在视图中,标题字段已被配置为链接到其节点。有条件的链接到视图内的节点?

一切正常。我现在有兴趣更新视图,以便在章节的主体为空时不显示指向章节节点的链接。因此,这个视图会显示一本书的章节标题列表,并且只与那些有正文的章节相关联。

这可以使用开箱即用功能来完成吗?如果不是,这样的事情会如何完成?

谢谢。

+0

虽然这被要求在09年,我们有一个姐妹网站,现在是专门为Drupal问题:drupal.se] – Will 2012-01-17 13:13:59

回答

3

我会使用Views Custom Field模块来实现您的自定义逻辑。它允许你抓取Views获取的数据并随意使用PHP进行操作。非常便利。

+0

谢谢。您的回答提供了我需要为标题提供条件链接的信息。我所做的是为了首先下载并启用views_customfield。其次,我将标题和正文字段放在视图中,都排除在显示之外。第三,在Customfield:PHP代码字段中,我放置了以下代码:<?php if(strlen(trim($ data-> node_revisions_body))== 0){return $ data-> node_title; } else {return l($ data-> node_title,drupal_get_path_alias('node /'。$ data-> nid)); }?> – sutch 2009-11-22 20:57:38

+0

很高兴我能帮上忙。 :-) – ceejayoz 2009-11-22 21:22:04

0

我回答我自己的问题,因为我对ceejayoz的回应格式不正确。

我所做的工作是先下载并启用views_customfield。其次,我将标题和正文字段放在视图中,都排除在显示之外。三,的CustomField内:PHP代码字段我把下面的代码:

<?php 
if (strlen(trim($data->node_revisions_body)) == 0) { 
    return $data->node_title; 
} else { 
return l($data->node_title, drupal_get_path_alias('node/' . $data->nid)); 
} 
?> 
0

还有这个聪明的解决办法,让你实现这个非常容易:

  1. 添加2个标题领域一个具有链接和一个没有链接,并使两个 他们排除显示。
  2. 添加正文字段,
  3. 在没有结果行为的情况下,将标题替换为无链接替换标记为 它。
  4. 在Rewrite结果行为中,将标题替换为链接替换标记为 它。
  5. 如果为空,请勾选隐藏。

Source