PHP разных размеров сетки в цикле foreach - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь получить следующий макет, используя PHP

enter image description here

Мой код:

<div class="grid">

<?php
foreach( $rows as $i => $row ) :
  if ( $i % 3 == 0 ) :
    $size = "large";
  else :
    $size = "small";
  endif;
?>

  <div class="item <?php echo $size; ?>"></div>

<?php endforeach; ?>

</div>

Это делаетпервый элемент большой в каждом ряду. Как сделать первый элемент большим в первом ряду, последний элемент большим во втором ряду, первый элемент большим в третьем ряду и т. Д. В этом шаблоне, как в примере макета?

Примечание:Я должен получить макет в PHP, используя переменную $size, не используя селекторы CSS, потому что в коде есть нечто большее. Я использую CSS только для установки ширины больших или маленьких элементов.

1 Ответ

1 голос
/ 31 октября 2019

Я думаю, это то, что вы ищете:

<div class="grid">
    <?php
    foreach( $entries as $i => $entry ) :
        $size = "small";

        if ( $i % 6 == 0 || $i % 6 == 5 ) :
            $size = "large";
        endif;
    ?>

        <div class="item <?php echo $size; ?>"></div>

    <?php endforeach; ?>
</div>

Вам просто нужно изменить номер по модулю на 6, потому что вы повторяете каждые 6 записей. И тогда вам просто нужно проверить, находится ли он на первой позиции или последней позиции экв. 0 или 5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...