Как я пытаюсь сделать загрузочную структуру сетки с помощью foreach
два столбца и внутри это одна строка и две строки структуры. Прикрепленный снимок экрана для лучшего и лучшего обзора.
Примечание: не проблема с CSS, но первые три элемента отображаются в виде сетки.
Счетчик не принимает col-md-4
и не уверен, где использовать счетчик приращения counter++
? Что делать, если я хочу показать первые три элемента, используя foreach
?
Любой другой способ обойти это расположение? Пробовал так далеко как ниже
<?php $counter = 0;
foreach($view->result as $result) {
<div id="hot-post" class="row hot-post">
<?php if( $counter == 0 || $counter % 3 == 0 ) { ?>
<div class="col-md-8 hot-post-left">
<div class="post post-thumb">
// first element common body
</div>
</div>
<?php if( $counter == 1 || $counter == 2 ) { ?>
<div class="col-md-4 hot-post-right">
<?php if( $counter == 1){ ?>
<div class="post post-thumb">
// second element common body
</div>
</php if ( $counter == 2){
<div class="post post-thumb">
// third element common body
</div>
</div>
<?php counter++; } } ?>
</div> //closing row
<?php } ?> //closing foreach
В вашем коде есть пара синтаксических ошибок, таких как:
foreach
петля и if
блок (ы) не закрыты должным образомcounter++;
должно быть $counter++;
Кроме того, есть несколько логических ошибок. Измените свой код следующим образом,
<?php
$counter = 0;
foreach($view->result as $result) {
?>
<div id="hot-post" class="row hot-post">
<?php if( $counter == 0 || $counter % 3 == 0 ) { ?>
<div class="col-md-8 hot-post-left">
<div class="post post-thumb">
// first element common body
</div>
</div>
<?php } ?>
<?php if( $counter != 0 && $counter % 3 != 0 ) { ?>
<div class="col-md-4 hot-post-right">
<?php if( $counter % 3 == 1){ ?>
<div class="post post-thumb">
// second element common body
</div>
<?php } ?>
<?php if ( $counter % 3 == 2){ ?>
<div class="post post-thumb">
// third element common body
</div>
</div>
<?php } ?>
</div>
<?php
}
++$counter;
}
?>
Других решений пока нет …