我在页面上有一个列表视图设计,我想一次打印2个models
的值。简而言之,它应该像这个
<ul>
<li>
<div>
<img src="<?= $model->image ?>" />
<a href="#"><?= $model->title ?> </a>
</div>
<div>
<img src="<?= $model->image ?>" />
<a href="#"><?= $model->title ?> </a>
</div>
</li>
</ul>
但是我不知道该用哪个循环?到目前为止,我正在使用foreach从dataProvider
获取model
,并一次显示一个,我现在正在使用以下代码
<ul>
<?php foreach($dataProvider2->getData() as $record) { ?>
<li>
<img src="<?= $model->image ?>" />
<a href="#"><?= $model->title ?> </a>
</li>
<?php } ?>
</ul>
我想在一个<li>
中显示两个项目,这里的问题是dataProvider
可能也有奇数或偶数的结果。
如果数组为奇数,我如何在循环中管理这一点???
您可以使用以下内容:
<?php
$data = $dataProvider->getData();
?>
<ul>
<?php for($i = 0; $i <= count($data) - 1; $i++) : ?>
<li>
<div>
<a href="#"><?php echo $data[$i]->id ?> </a>
</div>
<?php
if ($i < (count($data) - 1) ) : ?>
<div>
<a href="#"><?php echo $data[$i + 1]->id; ?> </a>
</div>
<?php endif; ?>
</li>
<?php $i++; ?>
<?php endfor; ?>
</ul>
结果:
<ul>
<li>
<div>
<a href="#">1 </a>
</div>
<div>
<a href="#">2 </a>
</div>
</li>
<li>
<div>
<a href="#">3 </a>
</div>
<div>
<a href="#">4 </a>
</div>
</li>
<li>
<div>
<a href="#">5 </a>
</div>
<div>
<a href="#">6 </a>
</div>
</li>
<li>
<div>
<a href="#">7 </a>
</div>
<div>
<a href="#">8 </a>
</div>
</li>
<li>
<div>
<a href="#">9 </a>
</div>
<div>
<a href="#">10 </a>
</div>
</li>
</ul>