問題
行ごとに 3 つの「ブロック」を表示し、大きい画像と小さい画像を交互に表示するギャラリーを生成しようとしています。
例えば:
Big     |   4 Small     |   Big
4 Small |   Big         |   4 Small
1 つの大きな画像は、4 つの小さな画像のサイズです。
私が試したこと
これまでに試したことの例を次に示します。
            $i = 0;
            $r = 0;
            $image = '';
            foreach($gallery_images as $image_data) {
                ($i == 5 ? $i = 0 : '');
                //If there's been 3 blocks added to the row, end the row and start a new one
                if($r == 3) { $image .= '</div>'; $r = 0; }
                //Start new row every 3 blocks
                if($r == 0) { $image .= '<div class="row">'; }
                //One big image, per 4 small in sequence
                if($i == 0) {
                    $image .= '<div style="height: 300px; width:33.3%; background: red;float:left;"></div>';
                    ++$r;
                } else {
                    //If no small, start the block
                    if($i == 1) { $image .= '<div style="width:33.3%;height:300px;float:left;">'; }
                        //echo each small image
                        $image .= '<div style="height: 150px; width:50%;background: blue;float:left;"></div>';
                    //Once 4 images have been echoed, close the div
                    if($i == 4) { $image .= '</div>'; ++$r; }
                }
                ++$i;
            }
            echo $image;
最初の行は正常に表示されますが、次の行は完全に台無しになります。これが機能するために見逃したものを見ることができません。
「行」のクラスは、レスポンシブにするために、Zurb による基盤フレームワーク上にこれを構築しているためです。