Conditional extends in Blade

孤人 提交于 2019-12-04 23:45:28
itachi

in the master layout:

   @if(!Request::ajax())

       //the master layout with @yield('content'). i.e. your current layout

   @else

       @yield('content')

   @endif
Christopher Raymond
@extends((( Request::ajax()) ? 'layouts.ajax' : 'layouts.default' ))

This kind of logic should really be kept out of the template.

In your controller set the $layout property to be dashboard.master then instead of calling returning your view or response, terminate with just $this->layout->content = View::make('dashboard.template')

Take a look at the Laravel docs on this

You could end up with something like this

<?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;
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!