猫头鹰在拉拉维尔(Laravel),二分之一列逻辑



如何为此结构创建逻辑?

[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应该进入第三幻灯片。

您需要用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

您发布的结果使我有些困惑,因为它们似乎不符合您已发布的代码(" 3"是第一个中的最后一个元素,也是第一个元素第二行)。您可能会混合一些东西?

基于您的代码,如果$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]
...

基本问题是,您在每个第七元素之前添加分隔符,但实际上希望每6个元素在每6个元素后添加。听起来令人困惑,这完全是,但是请考虑一下,这将是有道理的。; - )

这将是您需要更改的第一件事,但我也建议使用使用iteration -Loop变量,该变量由Blade Loops提供,并包含当前迭代的数量,而不是$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>

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

相关内容

  • 没有找到相关文章

最新更新