Laravel if заявление для различных пронумерованных пунктов, чтобы изменить стили - PullRequest
0 голосов
/ 15 мая 2019

У меня есть галерея продуктов, выложенных так:

gallery of products

<div class="row no-gutters bg-light">
                @foreach ($products as $product)
                <!-- Column 1 -->
                <div class="col-6 @if(count($products) === 1 || 4 || 5) card-w-bg @endif">
                    <div class="row no-gutters">
                        <!-- Column 1-a --> 
                        <div class="col-6 showcase-col">
                            <div class="overlay"></div>
                            <div class="showcase-hero showcase-text">
                                <h2 class="card-title mb-4"><a href="">{{ $product->name }}</a></h2>
                                <h3 class="card-subtitle text-muted">{{ $product->details }}</h3>
                                <h4 class="mb-3">{{ $product->presentPrice() }}</h4>
                                <p class="card-text mb-4 d-none d-md-block">Lorem ipsum dolor sit amet consectetur adipisicing elit. A

В операторе if необходимо добавить темно-серый bg к элементамТолько 1, 4 и 5.

Ответы [ 3 ]

1 голос
/ 15 мая 2019

Если 1,4 и 5 - идентификаторы продуктов, вы можете:

@if($product->id === 1 || $product->id === 4 || $product->id === 5) card-w-bg @endif

Если 1,4 и 5 - это место в цикле:

@if($loop->iteration === 1 || $loop->iteration === 4 || $loop->iteration === 5) card-w-bg @endif
0 голосов
/ 15 мая 2019

Возможно, вы захотите использовать переменную цикла , созданную foreach laravel, чтобы вы могли получить доступ к текущему индексу вместо использования count на $products, которое всегда будет возвращать одно и то же значение. Таким образом, вы можете сделать что-то вроде этого:

<div class="col-6 {{ $loop->index == 0 || 3 || 4 ? 'card-w-bg' : ''}}">
0 голосов
/ 15 мая 2019

Способ применения, если условие неверное, правильный способ показан ниже:

@if(count($products) == 1 || count($products) == 4 || count($products) == 5) //change over here
//some code 
@endif

Поэтому замените

 <div class="col-6 @if(count($products) === 1 || 4 || 5) card-w-bg @endif">

на следующее:

<?php $reqArr=[1,4,5]; ?>
<div class="col-6 @if(in_array(count($products),$reqArr)) card-w-bg @endif">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...