0

各スライドに 2 つの投稿が必要です。しかし、1枚のスライドしか取得できません。私はプログラミングが初めてなので、助けてください。

$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

4

4 に答える 4

1

ループの{後と最後がありません。foreach

于 2012-07-05T04:04:26.063 に答える
0

foreach 構文は問題ないようです。この構文は、従来の中かっこよりも HTML に埋め込まれた方がはるかに読みやすいという人もいます。

$this変数が何を指しているのか聞いてもいいですか? これがコードのどこにもインスタンス化されていませんか? 代わりに$itemであるはずですか?

于 2012-07-05T06:21:20.750 に答える
0

$settings['index']ループ内で変更されることはありませんが、変更されます$i。への変更:($i<2)

于 2012-07-05T05:21:20.613 に答える
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;
         }
         ?>
于 2012-07-05T06:01:45.743 に答える