我正在运行两个for循环,它们执行相同的操作,因为周围的HTML标记不同。
出于视觉目的,这是结构的外观:
右侧的大卡片将通过loop 1
创建,左侧的其他三张卡片将通过loop 2
创建。
问题:
loop 2
中,正在获取第一行(如
大卡)。我本质上总是希望大牌拉第1行,小牌拉2、3和4。当前代码:
<!-- main wrapper-->
<div class="row justify-content-center">
<div class="col-12 d-flex flex-row">
<!---------------->
<!-- FOR LOOP 1 -->
<!---------------->
<?php
$col = $dom->getElementsByTagName('item');
$i = 0;
foreach( $col as $item ){
$blogTitle=$item->childNodes[1]->nodeValue;
$blogAuthor=$item->childNodes[11]->nodeValue;
// limit 4
if(++$i > 4) break;
?>
<!-- for the first item, show this markup -->
<?php if ($i == 1) { ?>
<div class="col-6">
<div class="item__card d-flex flex-column">
<div>
<span class="author"><?php echo $blogAuthor; ?></span>
<span class="title"><?php echo $blogTitle; ?></span>
</div>
</div>
</div>
<?php } ?>
<?php } ?>
<!-- END FIRST FOR LOOP -->
<!---------------->
<!-- FOR LOOP 2 -->
<!---------------->
<?php if ($i > 1) { ?>
<div class="resourceGrid--small d-flex flex-column col-6">
<?php
$col2 = $dom->getElementsByTagName('item');
$i = 0;
foreach( $col2 as $item ){
$blogTitle=$item->childNodes[1]->nodeValue;
$blogAuthor=$item->childNodes[11]->nodeValue;
if(++$i > 3) break;
?>
<div class="resourceGrid--smallCard">
<div class="item__card">
<div>
<span class="author"><?php echo $blogAuthor; ?></span>
<span class="title"><?php echo $blogTitle; ?></span>
</div>
</div>
</div>
<?php } ?>
<!-- END SECOND FOR LOOP -->
<?php } ?>
<!-- endif -->
</div>
</div>
</div>