刀片模板中意外的endforeach

时间:2014-06-12 12:52:41

标签: laravel foreach blade

我在laravel的blade中有一个laravel模板,显示标签视图。选项卡不同eventtypes,选项卡中每种类型events。这种观点一直运作到今天。唯一改变的是我可以软删除events

我得到的错误如下:

syntax error, unexpected 'endforeach' (T_ENDFOREACH) 

这是模板的完整源代码:

@extends('master')

@section('title', '- Kalenderbeheer')

@section('head')
{{ HTML::script('Script/lib/dataTables.js'); }}
<script>
    $(document).ready(function(){
        $("#EventTypeTabs").tab();

        $(".eventtable").dataTable({
            paging: false,
            info: false,
            "aoColumns": [
                null,
                null,
                null,
                { "asSorting": [] }
            ]
        });

        $(".eventtable tr").click(function(){
            if ($(this).data("id"))
                location.href = "/kalender/admin/" + $(this).data("id");
        })
    });
</script>
@stop

@section('body')
<div class="row">
    <div class="col-md-6 col-md-offset-1">
        <h1>Kalenderbeheer</h1>
    </div>
    <div class="col-md-4 rtl">
        <a href="/kalender/admin/nieuw">Nieuwe activiteit toevoegen</a>
    </div>
</div>
<div class="row">
    <div class="col-md-10 col-md-offset-1">
        <ul class="nav nav-tabs" style="margin-bottom: 15px;" id="EventTypeTabs">
            @foreach ($eventtypes as $et)
            <li @if($et->id == 1) class="active" @endif>
                <a href="#{{{ $et->getFormattedName() }}}"  data-toggle="tab">{{{ $et->name }}}</a>
            </li>
            @endforeach
        </ul>
        <div class="tab-content eventtypetabs">
            @foreach ($eventtypes as $et)
            <div class="tab-pane fade @if ($et->id == 1)active in@endif" id="{{{ $et->getFormattedName() }}}">
                @if (count($et->events) > 0)
                <table class="table table-striped eventtable">
                    <thead>
                    <tr>
                        <th>#</th>
                        <th>Datum</th>
                        <th>Naam</th>
                        <th></th>
                    </tr>
                    </thead>
                    <tbody>
                    <?php $c = 0; ?>
                    @foreach ($et->events as $event)
                    <tr data-id="{{ $event->id }}">
                        <td>{{ ++$c }}</td>
                        <td>{{ preg_replace("/\d{2}:\d{2}:\d{2}/", "", $event->start) }}</td>
                        <td>{{{ $event->name }}}</td>
                        <td>X</td>
                    </tr>
                    @endforeach
                    </tbody>
                </table>
                @endif
            </div>
            @endforeach
        </div>
    </div>
</div>
@stop

错误出现在最后@endforeach上。这是错误的屏幕截图: laravel error

1 个答案:

答案 0 :(得分:6)

你只需要在@endif之前添加一个空格(第48行)

<div class="tab-pane fade @if ($et->id == 1)active in @endif" id="{{{ $et->getFormattedName() }}}">

此外,使用三元运算符更好:

class="tab-pane fade {{ $et->id == 1 ? 'active in' :''}}"