我有以下foreach循环:
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
<?php endforeach; ?>
前两项是好的,但是项目3-14我需要包装在一个div中,所以我可以控制布局。我想知道我会怎么做?问题不是所有3-14项都将被填充。
欢迎任何建议......谢谢
答案 0 :(得分:0)
所以有了你的补充,因为原来的公式应该有效,所以不要搞砸那部分。而是通过$style
变量进行添加,如下所示:
$i = 1;
foreach ($this->item->extra_fields as $key=>$extraField):
if($i == 1)
$style = 'id="largeImageWrap" class="pull-left"';
elseif($i == 2)
$style = 'id="sidePanelWrap"';
else
$style = 'class="row"';
// If less than or equal to 3, add <div>
if(($i <= 3))
$front = true;
// If greater than 14 <div>
elseif(($i > 14))
$front = true;
// Else no <div>
else
$front = false;
if($front == true) echo "<div $style>"; ?>
<span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
<?php
// If greater than 2 and less than 14 echo blank or </div>
echo (($i > 2) && ($i < 14))? "":"
</div>";
$i++;
endforeach;
答案 1 :(得分:0)
您需要一个控制变量来确定您所处的迭代,从那里您可以从第三次迭代中添加div或您想要做的任何事情。你可以尝试这样的事情:
<?php $i = 0;
foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php $i++;
if ($i < 3) { ?>
<span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
<?php } else { ?>
Add divs, or whatever you want to do here.
<?php }
endforeach; ?>