2016-04-06 15 views
0

50 logos görüntüleyen bir forech loop'um var. Ama ihtiyacım olan şey, her 5 görüntüde yeni bir div (.autogrid_wrapper .cte .block) oluşturan başka bir döngüdür.PHP döngüsünün her 5 eleman için yeni div oluşturması gerekiyor

<div class="autogrid_wrapper cte block"> 
     <div class="inner"> 
      <?php foreach($this->entries as $entry): ?> 
       <figure class="image_container"> 
        <img src="<?php echo $entry->field('logo')->generate(); ?>" title="<?php echo $entry->field('name')->value(); ?>" alt="<?php echo $entry->field('name')->value(); ?>" > 
       </figure> 
      <?php endforeach; ?> 
     </div> 
</div> 

Umarım bana yardımcı olabilirsiniz.

+0

'div.inner' mı? Ayrıca kapanış 'div' eksik. –

+0

Evet, div.inner ayrıca div.autogrid_wrapper ile yeni oluşturulmalıdır. – fr3d

cevap

3

Basit sayaç yardımcı olabilir -

<div class="autogrid_wrapper cte block"> 
    <div class="inner"> 
     <?php 
     $i = $j = $k = 0; 
     foreach($this->entries as $entry): 
     $i++; 
     $class = ''; 
     if($j === 0) { 
      $class = 'first'; 
     } 
     $j++; 
     $html = ''; 
     if($i % 5 === 0) { 
      $k++; 
      $j = ($i - (5 * $k)); 
      $class = 'last'; 
      $html = "</div></div> 
       <div class='autogrid_wrapper cte block'><div class='inner'>"; 
     } 
     ?> 
      <figure class="image_container <?php echo $class; ?>"> 
       <img src="<?php echo $entry->field('logo')->generate(); ?>" title="<?php echo $entry->field('name')->value(); ?>" alt="<?php echo $entry->field('name')->value(); ?>" > 
      </figure> 
     <?php 
     echo $html; 
     endforeach; 
     ?> 
    </div> 
</div> 
+0

Çok teşekkürler dostum. Bir küçük şey, ilk fig.image_container sınıf .first ve son figure.image_container sınıf .last vermek mümkün mü? – fr3d

+0

Vay ve 5 elementin son elementi sınıfını nasıl alabilirim? – fr3d

+0

Ne zaman ($ i === 1) { $ class = 'first'; } İlk 5 öğe için çalışıyor ancak aşağıdakiler için çalışmıyor. – fr3d

İlgili konular