同一个if中的两个图像


Two images in the same if

我使用jQueryZoom,需要像这样显示两个图像(一个图像用于'a'标签,另一个用于'img'):

<a href="images/BIGIMAGE.JPG">  
    <img src="images/SMALLIMAGE.JPG">  
</a>

但我需要从MySQL的两个不同的目录带来这些图像(默认目录:'zoom'和目录:'normal')。所以我在我的HTML主体上尝试这个:

<?php if ( $imagePath = $results02['adaptador']->getImagePathFrontend() && $imagePathNormal = $results02['adaptador']->getImagePathFrontend( IMG_TYPE_NORMAL ) ) { ?>
    <a href="<?php echo $imagePath ?>"  rel='gal1' id="demo1" >
        <img src="<?php echo $imagePathNormal ?>" />
    </a>
<?php } ?>

它正好给我带来了第二个。在第一个,它返回一个真值(1)。这是在浏览器上加载页面后的代码:

<a href="1"  rel='gal1' id="demo1" >
   <img src="../../images/produtos/adaptadores/normal/Adaptador 2P.png" />
</a>

为什么'if'在第一个选项上返回true,而不是像第二个选项那样返回图像路径?

您必须将分配分别分组。现在你把布尔运算的结果赋值给$imagePath

if ( ($imagePath = $results02['adaptador']->getImagePathFrontend()) &&
     ($imagePathNormal = $results02['adaptador']->getImagePathFrontend( IMG_TYPE_NORMAL )) )
{
    // ...
}

要么设置图像路径,要么用圆括号括起来。你的操作顺序可能把你弄糊涂了

<?php 
$imagePath = $results02['adaptador']->getImagePathFrontend();
if ( $imagePath && $imagePathNormal = $results02['adaptador']->getImagePathFrontend( IMG_TYPE_NORMAL ) ) { ?>
    <a href="<?php echo $imagePath ?>"  rel='gal1' id="demo1" ><img src="<?php echo $imagePathNormal ?>" /></a>
<?php } ?>