Laravel的猫头鹰旋转木马,六列两列逻辑

时间:2017-03-04 16:07:03

标签: php laravel owl-carousel

如何为此结构创建逻辑?

[1, 2, 3]
[4, 5, 6]

我有猫头鹰旋转木马的照片。它应该显示六张照片,三列两列,接下来的六张照片应该放在第二张幻灯片中,接下来六张放在第三张幻灯片中等等......

当我这样做时:

<div class="row">
     @foreach($videos as $key => $video)
         @if(($key)%7==0)
            </div><div class="row">
         @endif
            <div class="col-md-4">
               <a id="videos" class="fancybox fancybox.iframe be-relative" href="http://www.youtube.com/embed/><span class="be-absolute"></span></a>
            </div>
     @endforeach
</div>

但是,这给了我:

[1, 2, 3]
[3, 4, 5]

...在第二张幻灯片中我有

[6, 7, 8]
[9, 10, 11]
[12, 13, 14]

......但这12,13,14应该进入第三张幻灯片。

2 个答案:

答案 0 :(得分:0)

你需要将它们分成6个

@foreach( $videos->chunk(6) as $chunk)
    <div class="row">
        @foreach( $chunk as $video )
            <div class="col-md-4">
                <a id="videos" class="fancybox fancybox.iframe be-relative" href="http://www.youtube.com/embed/><span class="be-absolute"></span></a>
            </div>
        @endforeach
    </div>
@endforeach

答案 1 :(得分:0)

您发布的结果让我感到困惑,因为它们似乎不适合您发布的代码(同时&#34; 3&#34;是第一行中的最后一个元素,第二行中的第一个元素) 。可能你混淆了什么?

根据您的代码,如果$key确实是连续索引(1,2,3,4,...),它应该如下所示:

First slide:
[1, 2, 3]
[4, 5, 6]

Second slide:
[ 7,  8,  9]
[10, 11, 12]
[13]

Third slide:
[14, 15, 16]
[17, 18, 19]
[20]

...

基本问题是,您在每个第7个元素之前添加分隔符,但实际上希望在每6个元素之后添加它。听起来令人困惑,完全是这样,但想一想它就会有意义。 ; - )

这是你需要改变的第一件事,但我也建议使用iteration - 循环变量,它由刀片循环提供并包含当前迭代的数量,而不是$key

总而言之,这应该有效:

<div class="row">
     @foreach($videos as $video)
            <div class="col-md-4">
               <a id="videos" class="fancybox fancybox.iframe be-relative" href="http://www.youtube.com/embed/><span class="be-absolute"></span></a>
            </div>
            @if ((($loop->iteration % 6) == 0) && (!$loop->last))
                 </div><div class="row">
            @endif
     @endforeach
</div>

希望有所帮助!如果没有随意添加消息!