Laravel 5.2条件扩展了Blade中的模板

Man*_*ndy 5 php laravel-5.2 laravel-blade

我想根据条件扩展模板.我知道我可以@if @else在刀片中使用语句.我正在做同样的事情,但刀片扩展了两个模板.我不知道为什么.

@if(isset(Auth::user()->id))
    @extends('layouts.adminlayout')
@else
   @extends('layouts.default')
@endif

@section('content')
    i am the home page
    {{ isset(Auth::user()->id) }}
@stop
Run Code Online (Sandbox Code Playgroud)

因为,您可以看到我正在检查用户是否登录,然后扩展模板布局.但它从两个布局都延伸出来.

请帮我.

Nab*_*war 11

扩展刀片视图中的第一行必须是@extends指令.尝试使用三元运算符.

@extends(isset(Auth::user()->id) ? 'layouts.adminlayout' : 'layouts.default');
Run Code Online (Sandbox Code Playgroud)

更新基于角色的布局.有关更多条件,请参阅问题.

@extends((!isset(Auth::user()->id))? 'layouts.default': ((Auth::user()->role == 'admin') ? 'layouts.adminlayout' : 'layouts.moderatorlayout'));
Run Code Online (Sandbox Code Playgroud)