我得到了以下PHP:
<div class="slide-background">
<div class="slide">
<?php foreach (array_chunk($items->submenu, $linkCount) as $items): ?>
<?php if (12 / $cols == 1):?>
<div class="col-md-12">
<?php else: ?>
<div class="col-md-<?php echo 12 / $cols; ?>">
<?php endif; ?>
<ul>
<?php foreach($items as $submenu): ?>
<?php echo $submenu; ?>
<?php endforeach; ?>
</ul>
</div>
<?php endforeach; ?>
</div>
<ul class="pager">
<li>prev</li>
<li>next</li>
</ul>
</div>
</div>
基本上它会计算要显示的链接数和列数,但我现在需要将链接放在<div class="slide"></div>
中,但是基于列..所以基本上我需要说$ cols = 2个地方div中的两个div并且关闭..所以它基本上每个$ cols应该放在那个div中的那么多div ...
让我感到困惑甚至解释..我想我已经在上面解释了它..如果没有地方这么说并生病再试一次..
任何帮助都非常赞赏..
更新
感谢Hans ive现在拥有以下内容:<?php $linksPerColumn = ceil($linkCount / $cols); $linkCounter = 0;?>
<div class="slide-background">
<div class="slide">
<div class="col-md-<?php echo 12 / $cols ?>">
<ul>
<?php foreach ($items->submenu as $link): ?>
<?php $linkCounter++;?>
<?php if($linkCounter % $linksPerColumn == 0):?>
</ul>
</div>
<div class="col-md-<?php echo 12 / $cols ?>">
<ul>
<?php endif; ?>
<?php echo $link; ?>
<?php endforeach; ?>
</ul>
</div>
</div>
<ul class="pager">
<li>prev</li>
<li>next</li>
</ul>
</div>
</div>
唯一的问题是,当只有一列时,我需要2个链接,然后关闭div和ul并启动新的..现在它除了每个人而不是每两个链接都这样做...
答案 0 :(得分:1)
你可以使用模数。您应该计算每列需要的项目数。然后创建一个close和open div,例如:
<?
$linksPerColumn = 4;
if ($linkCount > 4){
$linksPerColumn = ceil ($linkCount / $amountOfColums);
}
$linkCounter = 0;
?>
<div class="slide-background">
<div class="slide">
<?
foreach ($links as $link)
{
$linkCounter++;
?>
// Do your HTML Here.
<?
if($linkCounter % $linksPerColumn = 0)
{
?>
</div>
<div class="slide">
<?
}
?>
</div>
</div>
// Rest of the HTML here.
我认为这应该适合你。