2012-07-05 62 views
0

我想在每張幻燈片上發佈兩篇文章。但只能獲得一張幻燈片。我是編程新手,請幫助我。無法在PHP中正確應用foreach循環

$widget_id = $widget->id.'-'.uniqid(); 
    $settings = $widget->settings; 
    $navigation = array(); 
    $captions = array(); 

    $i = 0; 
?> 

<div id="slideshow-<?php echo $widget_id; ?>" class="wk-slideshow wk-slideshow-revista-articles" data-widgetkit="slideshow" data-options='<?php echo json_encode($settings); ?>'> 
    <div> 
     <ul class="slides"> 

      <?php foreach ($widget->items as $key => $item) : ?> 
      <?php 
       $navigation[] = '<li><span></span></li>'; 
       $captions[] = '<li>'.(isset($item['caption']) ? $item['caption']:"").'</li>'; 

       /* Lazy Loading */ 
       $item["content"] = ($i==$settings['index']) ? $item["content"] : $this['image']->prepareLazyload($item["content"]); 
      ?> 
      <li> 
       <article class="wk-content clearfix"><?php echo $item['content']; ?></article> 
      </li> 
      <?php $i=$i+1;?> 
      <?php endforeach; ?> 
     </ul> 
     <?php if ($settings['buttons']): ?><div class="next"></div><div class="prev"></div><?php endif; ?> 
     <?php echo ($settings['navigation'] && count($navigation)) ? '<ul class="nav">'.implode('', $navigation).'</ul>' : '';?> 
     <div class="caption"></div><ul class="captions"><?php echo implode('', $captions);?></ul> 
    </div> 
</div> 

http://i.stack.imgur.com/sy1ih.png

回答

1

你錯過了foreach後,並在循環結束的{

0

$settings['index']在循環內永不改變,但$i。 更改爲:($i<2)

0
<?php foreach ($widget->items as $key => $item) { 

      $navigation[] = '<li><span></span></li>'; 
      $captions[] = '<li>'.(isset($item['caption']) ? $item['caption']:"").'</li>'; 

      /* Lazy Loading */ 
      $item["content"] = ($i==$settings['index']) ? $item["content"] : $this['image']->prepareLazyload($item["content"]); 
     ?> 
     <li> 
      <article class="wk-content clearfix"><?php echo $item['content']; ?></article> 
     </li> 
     <?php 
     $i=$i+1; 
     } 
     ?> 
0

你的foreach語法看起來不錯。與傳統的大括號相比,這種語法在HTML中嵌入時更容易閱讀。

請問$ this變量是指什麼?我沒有看到這個實例在你的代碼中的任何地方?它應該是$ item而不是?