2014-12-04 20 views
0

我有以下的HTML /刀模板: Laravel/PHP - 通過項目視圖中的循環

 {{--show all projects--}} 

     @if(!empty($projects)) 

     @foreach($projects as $project) 
     <div class="slide"> 
      <ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-4"> 
       <li> 
        <div class="thumb"> 
         <h3 class="thumbTitle">{{$project->title}}</h3> 
         {{--laat maar 1 image zien --}} 
         @if(!empty($project->project_images)) 


         {{ HTML::image('useruploadedimages/'.$project->project_images[0]->url) }} 


         @endif 

        </div> 

       </li> 
     </div> 


    @endforeach 

    @endif 
    </div>  

我想要的是:與.slide類專區內顯示的8個項目中,多個divs與.slide類爲ervery 8個項目:例如,我有25個項目:比我想有4 .slide divs 3 8個項目和1與一個單一的項目...

這甚至可能嗎?

回答

1

您可以使用array_chunck這樣的:

@foreach(array_chunck($projects->toArray(), 8) as $projects) 
    <div class="slide"> 
     <ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-4"> 
      @foreach($projects as $project) 
       <li> 
        <div class="thumb"> 
         <h3 class="thumbTitle">{{$project['title']}}</h3> 
         @if(!empty($project['project_images'])) 
          {{HTML::image('....)}} 
         @endif 
        </div> 
       </li> 
      @endforeach 
     </ul> 
    </div> 
@endforeach 

通知的數組符號[]而不是對象符號->

0

您可以關閉併爲每8個項目打開一個新的.slide div。我建議ul必須在每個div重新啓動?

@if(!empty($projects)) 
    <div class="slide"> 
     <ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-4"> 
      @for($i = 0; $i < count($projects); $i++) 
       <?php $project = $projects[$i]; ?> 

       <li> 
        <div class="thumb"> 
         <h3 class="thumbTitle">{{$project->title}}</h3> 
         {{-- only show one image --}} 
         @if(!empty($project->project_images)) 
          { HTML::image('useruploadedimages/'.$project->project_images[0]->url) }} 
         @endif 

        </div> 

       </li> 

       {{-- If there were 8 projects, start a new .slide --}} 
       @if ($i % 8 == 7) 
        </ul></div><div class="slide"><ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-4"> 
       @endif 

      @endfor 
     </ul> 
    </div> 
@endif 
1

你可以試試這個代碼和平

{{--show all projects--}} 

@if(!empty($projects)) 
    $i = 8; 
    @foreach($projects as $project) 
     @if($i%8 == 0) // checks for multiples if 8 and wraps your content with div and ul 
      <div class="slide"> 
       <ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-4"> 
     @endif  
        <li> 
         <div class="thumb"> 
          <h3 class="thumbTitle">{{$project->title}}</h3> 
          {{--laat maar 1 image zien --}} 
          @if(!empty($project->project_images)) 


          {{ HTML::image('useruploadedimages/'.$project->project_images[0]->url) }} 


          @endif 

         </div> 

        </li> 
     @if($i++%8 == 0)  // checks for multiples if 8 and increments i value 
       </ul>   // ends the ul and div 
      </div> 
     @endif 


    @endforeach 

@endif 
</div>  

希望它有助於