我有一个循环的数组(作为javascript标志旋转器的一部分)
<div id="featured" >
<ul>
<?php
foreach ($rows as $key => $item) {
?>
<li>
<a href="<?php echo $item->link;?>"><img src="images/stories/thumb_<?php echo strtolower($item->title);?>.jpg" title="<?php echo $item->title?>" alt="<?php echo $item->title?>"/></a>
</li>
<?php
}
?>
</ul>
这始终在数组中的第一个项目处启动旋转器(由模型返回)。如果我单击数组中的项目,我希望旋转器从单击的项目开始。如何移动到数组中的右侧元素并保持顺序相同?
编辑:
为了澄清,这些项目是从数据库返回的。这些物品根据特定的订购字段进行排序。我想要获得的是:
默认操作 1,2,3,4,5
所选项目= 3
3,4,5,1,2
我需要在PHP中执行此操作。
答案 0 :(得分:0)
使用Yent的回答
$currentLink = htmlspecialchars(JRequest::getURI());
//Loop through and match URLs
foreach ($rows as $key => $item) {
$arrayLink = $item->link;
if ($arrayLink == $currentLink) {
$index = $key;
}
}
//Reorder the array
$rows = array_merge(array_slice($rows, $index, null, true), array_slice($rows, 0, $index, true));
我唯一的问题是,由于缩略图和旋转器的主要图像由同一列表驱动,我生成的图库会移动项目。可能不得不修补js。