0

我有一个可以工作的 php 脚本,我需要一些帮助来修改它。

这是我的脚本:

<? $images = $product->images;
for ($i = 4; $i <= 8; $i++): ?>
<li>
<a href='<?= $images[$i]->getThumbnailPath(0,0) ?>' class="swatch_lbox_gallery" rel="gal">
<img src="<?= $images[$i]->getThumbnailPath(138, 0) ?>"/>
</a>   
<p><?= $images[$i]->title ?><br/>
<?= $images[$i]->description ?></p>
</li>
<? endfor; ?>

当有 4 张以上的图像时它确实有效,否则我会收到错误消息。我试图在其中添加一个 if 语句,以便在没有第四张图像时隐藏,但我无法让它工作。任何帮助将不胜感激。如果我需要添加更多细节,请告诉我。

添加了细节 - 我从 4 开始,因为我需要图像 4-8

谢谢!

斯蒂芬

4

3 回答 3

2
if (count($images) >= 4) for ($i = 4; $i <= 8; $i++):
于 2013-05-30T16:58:55.390 回答
1

尝试这个:

<? 
    $images = $product->images;
    $startOnImage = 4;
    $endOnImage = 8;

    foreach($images as $key => $image)
    {
        if($key<$startOnImage){ continue; }
        if($key>$endOnImage){ break; }

        echo '<li>';
        echo '<a href="' . $image->getThumbnailPath(0,0) . '" class="swatch_lbox_gallery" rel="gal">';
        echo '<img src="' . $image->getThumbnailPath(138, 0) . '"/>';
        echo '</a>';

        echo '<p>' . $image->title . '<br/>';
        echo $image->description . '</p>';
        echo '</li>';

     }
于 2013-05-30T16:59:26.150 回答
0
for ($i = 4; $i <= min(8, count($images)-1); $i++) :

-1是必要的,因为数字数组索引从 0 开始,而不是 1。因此$images[4]要求count($images)至少为 5。

于 2013-05-30T17:04:11.783 回答