Как я могу заполнить стартовую сетку используя foreach? - PullRequest
0 голосов
/ 12 ноября 2018

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

enter image description here

1 Ответ

0 голосов
/ 12 ноября 2018

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

  • Открывающая и закрывающая фигурные скобки не синхронизированы, т.е. 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;
    } 
?> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...