2014-04-03 176 views
0

我试图在voews-view-field.tpl文件中将图像打印为背景图像。以下是我正在使用的代码。当有图像时,它可以很好地工作。然而,当没有图像时,我仍然希望它在没有背景图像的情况下渲染其余的输出,但是我得到以下错误:注意:未定义的偏移量:字段为空时为0

注意:未定义偏移量:0在include()(第26行.. ./templates/views-view-field--nothing.tpl.php)。

错误指向第一行代码。我假设我需要以某种方式添加if(isset)在这里,但我无法弄清楚究竟在哪里放置它...没有我试过的东西已经工作。或者,也许这不是问题。任何帮助将非常感激!谢谢!

<?php 
    $url = file_create_url($row->field_field_parallax_image[0]['raw']['uri']); 
    $url = parse_url($url); 
    $path = $url['path']; 
?> 
<div class="parallax" style="background-image: url('<?php 
    if(isset($row->field_field_parallax_image)) print $path; ?>');"> 
    <?php print $output; ?> 
</div> 

回答

0

替换为第1行:

if (isset($row->field_field_parallax_image[0])) 
{ 
    $url = file_create_url($row->field_field_parallax_image[0]['raw']['uri']); 
} 
+0

谢谢!这工作完美!我只是忘记了“[0]”我不得不改变if语句的设置方式,因为我得到了未定义的变量,在第一行之后放置了尾括号,但除此之外,这很好。 –