Запуск foreach с двумя разными стилями фона

#laravel #foreach

#laravel #foreach

Вопрос:

Макет, который я использую для цикла foreach для возврата данных вЯ пытаюсь запустить цикл foreach, чтобы вернуть заголовок и цену. Но мне нужно, чтобы результаты отображались в разных полях, в одном есть фоновый img, в другом нет фонового img. Поля чередуются вниз по странице.

Загрузочная строка и столбцы, одна с изображением bg, другая без[![][1]]3

Комментарии:

1. так в чем проблема? можете ли вы подробнее сформулировать свой вопрос?

2. Я знаю, как запускать цикл foreach, но не для двух полей с разным стилем

3. пишу код, и я конвертирую его для того, чтобы не использовать изображение

4. создайте boolean вне foreach , затем внутри foreach цикла загрузите содержимое, проверяя это условно boolean , и просто установите для него обратное значение в конце с помощью $boolean = !$boolean

Ответ №1:

Я предполагаю, что вы имеете в виду динамическое добавление класса card-w-bg к вашим картам.

Решение 1. Добавьте background логическое значение к вашей карточке и используйте его для определения.

 @foreach($cards as $card)
<div class="col-4">
    <div class="card x-auto @if($card->background) card-w-bg @endif">
        {{ $card->title }}
        {{ $card->description }}
    </div>
</div>
@endforeach
  

Решение 2: В вашем случае кажется, что фон отображается при нечетном количестве ваших карточек. Используйте переменную цикла.

 <div class="@if($loop->odd) card-w-bg @endif">
  

Однако это $loop->even работает только в Laravel 5.8. Используйте @if($loop->iteration % 2) вместо этого, если ниже Laravel 5.8

Комментарии:

1. Это действительно хороший подход. Не знал о $loop переменной.

2. Спасибо Cloud Soh… Я использовал <div class=»@if ($ loop-> odd) card-w-bg @endif»>, работает отлично, приветствую

Ответ №2:

Вы пробовали это? http://image.intervention.io/api/text

Подсказка: вы можете зафиксировать размер изображения и выполнить математические вычисления, чтобы задать текст X, Y для наложения текста.