Как я могу заполнить загрузочную сетку, используя foreach?

Как я пытаюсь сделать загрузочную структуру сетки с помощью 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

введите описание изображения здесь

0

Решение

В вашем коде есть пара синтаксических ошибок, таких как:

  • Открывающая и закрывающая фигурные скобки не синхронизированы, т.е. 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;
}
?>
1

Другие решения

Других решений пока нет …