用php和bootstrap轮播显示图像

时间:2014-10-19 22:56:46

标签: php html twitter-bootstrap-3

我需要使用twitter bootstrap创建一个图像列表,所以我写道:

<?php osc_run_hook('item_detail', osc_item() ) ; ?>
<?php if( osc_images_enabled_at_items() && (osc_count_item_resources() > 0) ) { ?>
<div class="row hidden-xs" id="mediaCarouselThumbs" style="padding: 15px;">
    <?php $itemCount = osc_count_item_resources(); ?>
<?php for($i = 0; $i < $itemCount; $i++) { ?>
                                                    <div class="pull-left" style="width: 11.11%;">
                                <a href="#" data-target="#mediaCarousel" data-slide-to="<?php echo $i;$i+1;?>" class="thumbnail" style="background-image: url(<?php echo osc_resource_url(); ?>);">&nbsp;</a>
                            </div><?php } ?>
                            <!---->

                                            </div>
        <?php } ?>

一切都很好但是回显osc_resource_url();不要给我正确的网址,也不要在循环中更改它,还有$ i就是一切都很好并且运作良好......所以在运行此代码后我得到:

<div class="row hidden-xs" id="mediaCarouselThumbs" style="padding: 15px;">
                                                        <div class="pull-left" style="width: 11.11%;">
                                <a href="#" data-target="#mediaCarousel" data-slide-to="0" class="thumbnail" style="background-image: url(http://dive.agroagro.com/0.);">&nbsp;</a>
                            </div>                                                    <div class="pull-left" style="width: 11.11%;">
                                <a href="#" data-target="#mediaCarousel" data-slide-to="1" class="thumbnail" style="background-image: url(http://dive.agroagro.com/0.);">&nbsp;</a>
                            </div>                                                    <div class="pull-left" style="width: 11.11%;">
                                <a href="#" data-target="#mediaCarousel" data-slide-to="2" class="thumbnail" style="background-image: url(http://dive.agroagro.com/0.);">&nbsp;</a>
                            </div>                            <!---->

                                            </div>

在每个循环中更改图像URL需要做些什么。谢谢,抱歉我的英语。

1 个答案:

答案 0 :(得分:1)

osc_resource_url()返回的值(在您当前的代码中)是“静态的”,不受当前循环的影响。这就是为什么所有图像都相同的原因。一种解决方案是将参数传递给此函数。

因为我不知道这个函数的主要工作是什么(是否有任何可以传递的参数,将返回什么值等),我建议使用数组的简单解决方案为图像和网址:

<?php
    $itemCount = osc_count_item_resources();
    $images = array(
        array('url' => '#', 'image' => 'http://dive.agroagro.com/0.jpg'),
        array('url' => '#', 'image' => 'http://dive.agroagro.com/1.jpg'),
        array('url' => '#', 'image' => 'http://dive.agroagro.com/2.jpg'),
        array('url' => '#', 'image' => 'http://dive.agroagro.com/3.jpg')
    );
?>

    <?php for($i = 0; $i < $itemCount; $i++) { ?>
        <div class="pull-left" style="width: 11.11%;">
            <a href="<?php echo $images[$i]['url']; ?>" data-target="#mediaCarousel" data-slide-to="<?php echo $i;?>" class="thumbnail" style="background-image: url(<?php echo $images[$i]['image']; ?>);">&nbsp;</a>
        </div>
    <?php } ?>