Php Drupal 6/Views2网格样式:整个单元格链接到节点

Php Drupal 6/Views2网格样式:整个单元格链接到节点,php,drupal,grid,hyperlink,cell,Php,Drupal,Grid,Hyperlink,Cell,在我的Drupal站点上,我使用Views模块创建了一个用户页面,它只是一个样式良好的用户网格(HTML表)。我将为每个字段显示几个字段,并且名称和配置文件图片都已设置为链接到用户节点 更改它以使整个单元格(HTML td)链接到用户节点的最佳方式是什么?编辑:我不关心添加HTML链接标记,而是关心访问每个配置文件页面的URL 我已经研究过修改视图的主题(超越样式输出,例如views-view-grid--users.tpl.php),但是没有找到一种优雅的方法来获取用户节点的URL 编辑:我已

在我的Drupal站点上,我使用Views模块创建了一个用户页面,它只是一个样式良好的用户网格(HTML表)。我将为每个字段显示几个字段,并且名称和配置文件图片都已设置为链接到用户节点

更改它以使整个单元格(HTML td)链接到用户节点的最佳方式是什么?编辑:我不关心添加HTML链接标记,而是关心访问每个配置文件页面的URL

我已经研究过修改视图的主题(超越样式输出,例如views-view-grid--users.tpl.php),但是没有找到一种优雅的方法来获取用户节点的URL

编辑:我已经用javascript实现了一个临时解决方案,它查看每个单元格的HTML,提取第一个链接的URL,并使用它,但是没有更好的方法来使用Drupal变量吗


谢谢你的帮助。

像这样的东西怎么样……不需要JavaScript

在您的表格中:

<td><a href="..." class="td_link">the link</a></td>
...

因此,基本上你所需要做的就是在链接中添加一个类和一小段CSS。

区分实际链接是很重要的,在你的其他字段周围添加链接的开始和结束标记。

spais和scott reynen是对的。但不是将每个字段置于多个

在您的情况下,将模板从视图模块内部复制到您的主题文件夹中,并相应地将其重命名为您的视图“主题:信息”。确保没有输出或或任何其他块元素。如果您需要断线,请使用

好的,我找到了一种更好(超级简单)的方法来提取配置文件URL,而且我还发现了一些关于整个块链接解决方案(归因于espais)的问题,我认为这些问题值得记录。下面是我最初问题的完整解决方案:

1) 添加自定义模板文件以覆盖views-view-fields.tpl.php(请参阅-感谢barraponto提供的有用链接)。在这个自定义文件中,您应该将所有代码包装在一个链接中,并在末尾之前添加一个清晰的fixdiv,以将链接拉伸到容器的整个高度

<a class="td-link" href="user/<?php print $row->uid; ?>">
...
<div class="clear-fix"></div>
</a>

这将从文本中删除链接格式(因为我们希望整个块看起来像链接,而不仅仅是文本),并将链接向外拉伸以填充容器。它还使光标图形保持一致,并在将鼠标移到块上时添加了一个很好的边框效果。请记住,您还可以向视图中添加自定义CSS类,这样可以更容易/更整洁地选择CSS代码中的样式元素。

谢谢您的建议,但这会产生一种可怕的效果-它只会将所有内容变成链接(所有文本/图像),但内容之间没有任何间隙,我想让整个div都可以点击的唯一解决方案是使用javascript,这很好。问题是我看不出如何以优雅的方式获取用户节点的实际URL。信息就在单元格的内容中-名称和图片字段链接到用户节点,但我似乎无法使用自定义主题模板文件访问该信息…多么尴尬;我刚刚意识到你的块链接方法确实能满足我的要求。不确定我以前做错了什么-可能是一些奇怪的CSS优先级问题。这确实是一个更好的解决方案,使用JS使整个div成为链接。。。谢谢。如果你喜欢,就接受它;)我很高兴你能让它工作,虽然我已经标记了它的帮助,但我不能接受它作为一个答案,因为它不能解决我的主要问题:从自定义视图模板文件访问每个用户的配置文件URL。啊,对不起,我想它已经修复了你的问题。很幸运,espais的建议没有产生预期的效果(见我的评论).实际上,我对使用javascript很满意-我很乐意要求访问者允许,搜索引擎也没有问题,因为正如我所说,单元格也包含指向同一目的的常规链接。我已经更新了我的原始问题,以更具体地说明我的问题。注意,您可以使用display:block设置元素样式,从而应用边距谢谢你的建议。我后来意识到espais是对的。我现在唯一的问题是从自定义模板文件访问用户配置文件URL。我只是不知道在这些模板文件中我的PHP代码有哪些变量可用…哈哈,这可能真的解决了一个菜单问题…我对此有点看法;)
<a class="td-link" href="user/<?php print $row->uid; ?>">
...
<div class="clear-fix"></div>
</a>
a.td-link {
    display: block;
    color: #000;
    text-decoration: none;
    border: 1px solid #E9EFF3;
}
a.td-link:HOVER {border-color: #85b3d4;}
a.td-link label {cursor: pointer;}
div.clear-fix {clear: both;}