2014-06-12 1 views
3

У меня есть шаблон blade в laravel в laravel, который отображает вид табуляции. Вкладки разные eventtypes, а на вкладках - events за тип. Эта точка зрения отлично работала до сегодняшнего дня. Единственное, что изменилось, это то, что я разрешил soft-delete events.неожиданный endforeach в шаблоне лезвия

Ошибки я получаю следующее:

syntax error, unexpected 'endforeach' (T_ENDFOREACH) 

Это весь исходный код шаблона: на последнем @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 [email protected]" 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 

появляется ошибка. Это скриншот ошибки: laravel error

+0

На какой строке вы получаете эту ошибку? Можете ли вы опубликовать полную ошибку? – Tim

+0

Ошибка на последнем '@ endforeach', я добавил скриншот. – Jerodev

ответ

4

Вам просто нужно добавить пробел перед @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' :''}}" 
+0

Спасибо, это была ошибка. Я только что узнал сам, посмотрев на скомпилированный вид. – Jerodev

+1

У меня тоже была эта проблема, и это решило. Эта проблема, похоже, произошла, потому что мы обновили Laravel 4.2; старый код отлично работает в Laravel 4.1. –