我需要使用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(); ?>);"> </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.);"> </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.);"> </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.);"> </a>
</div> <!---->
</div>
在每个循环中更改图像URL需要做些什么。谢谢,抱歉我的英语。
答案 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']; ?>);"> </a>
</div>
<?php } ?>