我有一个这样布置的产品画廊:
<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。
答案 0 :(得分:1)
如果1、4和5是产品ID,则可以:
@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
答案 1 :(得分:0)
如果条件错误,您将采用的方式,正确的方式如下所示:
@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">
答案 2 :(得分:-1)
您可能想使用laravel的foreach创建的loop variable,以便可以访问当前索引,而不是在count
上使用$products
,因为它将始终返回相同的值。因此,您可以执行以下操作:
<div class="col-6 {{ $loop->index == 0 || 3 || 4 ? 'card-w-bg' : ''}}">