美好的一天,
我的页面中有一个类别列表,但只要可以添加或删除它。你可以帮我制定一个循环来将我的列表分成每个div最多5个列表。
离。
foreach($categories as $cat)
<label><input type ="checkbox"><?php echo $cat->name ?></label></br>
endforeach
上面的代码将在1列
中生成一个复选框列表
所以我尝试了这个循环
<?php $count = 0; ?>
@foreach($categories as $cat)
@if($count == 0)
<div class="col-md-4">
@elseif($count == 5)
<?php $count = 0; ?>
</div>
@endif
<label><input type="checkbox" value="{{$cat->xid}}">{{$cat->category}}</label><br>
<?php $count++; ?>
@endforeach
它会像这样生成
但它只包含列表中的前5个元素,接下来的5个元素不起作用。你能帮我吗:)建议真的很感激
答案 0 :(得分:1)
这是在vanilla PHP中,但您可以轻松地使用刀片模板中的逻辑。我测试过它,效果很好。
<?php
$categories = ['test','test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7',
'test','test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7','test','test1',
'test2', 'test3', 'test4', 'test5', 'test6', 'test7','test','test1', 'test2', 'test3',
'test4', 'test5', 'test6', 'test7'];
$end = end($categories);
$count = 1;
foreach($categories as $cat){
if($count == 1 || $count % 5 == 1){
echo '<div class="col-md-5">';
}
?>
<label><input type ="checkbox"><?php echo $cat ?></label></br>
<?php
if(($count % 5 == 0) && $count != 0 || ($cat == $end)){
echo '</div>';
}
$count++;
}
?>
答案 1 :(得分:1)
以下是我修改后的代码将生成所需的布局。您需要将CSS应用于class =“col-md-4”,以根据您的要求分隔每个块。
<?php $count = 0; ?>
@foreach($categories as $cat)
@if($count == 0)
<div class="col-md-4">
@endif
@if($count> 0 && $count%5 == 0)
</div>
<div class="col-md-4">
@endif
<label><input type="checkbox" value="{{$cat->xid}}">{{$cat->category}}
</label><br>
<?php $count++; ?>
@endforeach
@if($count <= 5)
</div>
@endif