将数据属性添加到Drupal Views图像

时间:2012-05-23 10:35:38

标签: image drupal drupal-views

我有一个打印标题,正文和图像字段的视图。现在我希望能够将数据属性打印到图像标记。目前它产生以下HTML:

<img width="578" height="472" src="http://mydomain.com/sites/mydomain.com/files/image-small.jpg" typeof="foaf:Image">

但我想提供更大图像的URL作为数据属性。像这样:

<img width="578" height="472" src="http://mydomain.com/sites/mydomain.com/files/image-small.jpg" typeof="foaf:Image" data-big-image="http://mydomain.com/sites/mydomain.com/files/image-big.jpg" />

怎么能实现这个目标?我可以在视图中执行此操作,还是需要对视图模板进行更改?

2 个答案:

答案 0 :(得分:0)

访问整个数据负载的任何简单方法是在视图ui中添加节点id字段然后在循环之前输入以下内容在模板文件中:

  $nid = strip_tags($fields['nid']->content);
  $node = node_load($nid);

执行$ node的var_dump()以查看可以使用的数据。

例如,获取图像路径将类似于以下内容:

$node->field_cl_image['und'][0]['uri']

答案 1 :(得分:0)

您可以使用Views PHP字段在视图用户界面中完全执行此操作。

您首先要添加大图像字段和小图像字段,然后将它们从显示中排除,以便稍后使用$ data对象轻松引用它们。

添加一个PHP字段,将“值代码”留空。在“输出代码”中,只需构造您想要的HTML:

<?php
print '<img src="' . $data->field_your_small_image_field['some']['array'] .
 '" data-big-image="' . $data->field_your_big_image_field['some']['array'] . '" />';
?>`

在输出代码区域中执行dsm($data);(启用Devel)以查找URL的确切数组键。