2012-07-05 37 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而不是?