模板中的laravel /刀片循环

时间:2014-08-26 16:51:40

标签: php laravel blade

我需要你的帮助。这是我的模板文件。如何使用该模板?主要问题是我不知道如何更改div类值。现在我只能<div class="thumb-left">工作,但我还需要<div class="thumb-middle"><div class="thumb-right">

谢谢。

   @extends('_layouts.main')

    @section('content')


    <div id="content-section">
    @foreach ($uploads as $upload)
        <div class="thumb-left">
            <img alt="{{ $upload->image_title }}" title="{{ $upload->image_title }}" src="/files/images/{{ $upload->imagefile }}" height="250" width="300">
            <div class="thumb-info">
                <a href="#">{{ $upload->image_title }}</a>
                <a class="cat" href="#">PHOTOS</a>
            </div>
        </div>
@endforeach
        <div class="thumb-middle">
            <a href="#"><img alt="sunset" title="Sunset HDR" src="img/thumb.jpg" height="250" width="300"></a>
            <div class="thumb-info">
                <a href="#">{{ $upload->image_title }}</a>
                <a class="cat" href="#">PHOTOS</a>
            </div>
        </div>
        <div class="thumb-right">
            <a href="#"><img alt="sunset" title="Sunset HDR" src="img/thumb.jpg"></a>
            <div class="thumb-info">
                <a href="#">City Sunset HDR</a>
                <a class="cat" href="#">PHOTOS</a>
            </div>
        </div>

    </div>


    @stop

2 个答案:

答案 0 :(得分:1)

你可以这样做:

Fragment

@foreach ($uploads as $upload) <div class="thumb-{{ array('left', 'middle', 'right')[($loop->iteration-1)%3] }}"> <img alt="{{ $upload->image_title }}" title="{{ $upload->image_title }}" src="/files/images/{{ $upload->imagefile }}" height="250" width="300"> <div class="thumb-info"> <a href="#">{{ $upload->image_title }}</a> <a class="cat" href="#">PHOTOS</a> </div> </div> @endforeach 变量是一个内置刀片变量 - 检查docs

  

循环时,循环内部将提供$ loop变量。   该变量提供对一些有用信息的访问   作为当前循环索引以及这是第一个还是最后一个   迭代循环。例如:$loop - 当前循环   迭代(从1开始)。

答案 1 :(得分:0)

您可能希望将foreach更改为也使用密钥,这样您就可以知道阵列中的index

<div id="content-section">
@foreach ($uploads as $index => $upload)
    <div class="thumb-left">
        <img alt="{{ $upload->image_title }}" title="{{ $upload->image_title }}" src="/files/images/{{ $upload->imagefile }}" height="250" width="300">
        <div class="thumb-info">
            <a href="#">{{ $upload->image_title }}</a>
            <a class="cat" href="#">PHOTOS</a>
        </div>
    </div>
@endforeach
</div>

现在,如果我理解正确,您要找的是从thumb-left切换到thumb-middle然后再切换thumb-right,然后再循环。您可以使用modulo根据当前索引分配您的类名。这是未经测试的代码,但您可能会使用以下内容:

<div id="content-section">
{{ $classnames = array("thumb-left", "thumb-middle", "thumb-right"); }}
@foreach ($uploads as $index => $upload)
    <div class="{{ $classnames[$index % count($classnames)] }}">
        <img alt="{{ $upload->image_title }}" title="{{ $upload->image_title }}" src="/files/images/{{ $upload->imagefile }}" height="250" width="300">
        <div class="thumb-info">
            <a href="#">{{ $upload->image_title }}</a>
            <a class="cat" href="#">PHOTOS</a>
        </div>
    </div>
@endforeach
</div>