2016-09-16 5 views
0

私のコードでは、各ボックスの色がそれぞれ異なるようにblueまたは​​としています。文章で第3の色を含める場合

greyのような3番目の色を追加できるようにコードを調整するにはどうすればよいですか?

私は尋ねたと誰かがまた%2if声明

コード内で何を意味するかを説明することができ、私の他のSOの質問のいずれかから以下のコードを得た:

 <?php $class = 0; ?> 
    @foreach ($dealsDB as $deal) 
     <div class="col-md-4"> 
      <div class="panel panel-default"> 
       <div class="panel-heading @if($class%2==0) green @else blue @endif"> 
        <h4><i class="fa fa-fw fa-gift"></i>{{ $deal->title }}</h4> 
       </div> 
       <div class="panel-body"> 
        <p>{{ $deal->content }}</p> 
       </div> 
      </div> 
     </div> 
    <?php $class++;?> 
@endforeach 
+0

どのテンプレートエンジンですか? – nogad

+0

@nogad自分のタグを変更しました - Laravel 5 Blade –

答えて

-1

Laravelを使用したことがありません5ブレード

しかし、論理は

あなたは2つのだけ青、あなたのループが実行されるたび、そう %2 (Modulo 2) $class上の値を使用して1増加 $classの値が常に生成されますオプション いずれかかを持っていたとして、あなたの特定のコードで
0

210、 結果として。つまり、値がの場合、私はこの色を使用します。値がの場合は、この色を使用します。 if-else条件でこのロジックを使用しましたが、それ以上のことはありません。

また、別の方法で行うこともできます。同様に、色を配列に格納し、そのロジックを使用してインデックスを使用します。次に、このネストされたif-elseシーケンスを使用する必要はありません。

<?php 
$class = 0; //loop counter 
$colors = array('green', 'blue', 'grey'); //color array to store available colors 
$arr_length = count($colors); //count how much option we have 
?> 
@foreach ($dealsDB as $deal) 
    <div class="col-md-4"> 
     <div class="panel panel-default"> 
      <div class="panel-heading {{$colors[$class % $arr_length]}}"> 
       <h4><i class="fa fa-fw fa-gift"></i>{{ $deal->title }}</h4> 
      </div> 
      <div class="panel-body"> 
       <p>{{ $deal->content }}</p> 
      </div> 
     </div> 
    </div> 
<?php $class++;?> 
@endforeach 

参照は、今、あなたも、あなたは任意のより多くの色が必要な場合は、2または3とのモジュロは、あなただけの$colors配列にそれを追加するかどうかを考える必要はありませんし、タッチする必要はありません。残りのコード

関連する問題