Условное расширение в клинке

Есть ли способ сделать условное @extends на языке шаблонов Blade?

Что я пробовал:

 @if(!Request::ajax()) @extends('dashboard.master') @section('content') @endif <div class="jumbotron"> Hey! </div> @if(!Request::ajax()) @stop @endif 

Вывод

Когда запрос не был AJAX, он распечатал @extends('dashboard.master') , но запрос AJAX работал нормально.

То, что я пытаюсь сделать

Прекратите включать основной шаблон (который включает в себя header и footer ) для AJAX, чтобы он мог легко отображать запрошенный контент

в макете:

  @if(!Request::ajax()) //the master layout with @yield('content'). ie your current layout @else @yield('content') @endif 
 @extends((( Request::ajax()) ? 'layouts.ajax' : 'layouts.default' )) 

Такая логика должна быть действительно исключена из шаблона.

В вашем контроллере свойство $layout должно быть dashboard.master, а вместо того, чтобы вызывать возврат вашего представления или ответа, завершите только $this->layout->content = View::make('dashboard.template')

Взгляните на документы Laravel на этот

Вы могли бы получить что-то вроде этого

 <?php class Something extends BaseController { $layout = 'dashboard.master'; public function getIndex() { $template = View::make('dashboard.template'); if(Request::ajax()) { return $template; } $this->layout->content = $template; } }