if - else在laravel框架刀片模板中不起作用

问题描述 投票:3回答:2

我的问题是,我有Laravel刀片模板的页面。如果用户已登录,则应从主布局扩展我的页面。如果用户没有登录,我的页面应该从另一个主布局扩展。

但我的if-else声明不起作用

 <?php 
 if (Auth::check()){?>
 @extends('layouts.outside');
 <?php } else{ ?>
     @extends('layouts.admin');
 <?php }?>

我也试过刀片if-else版本如下:

@if (Auth::check())
 @extends('layouts.outside')
@else
 @extends('layouts.admin')
@endif

它也不起作用。每次在语句中为true或false时,if和else语句中的块都会运行一次。因为没有别的。我的意思是每次它调用layouts.outside一次并且只是底部,同样的页面再次加载layouts.outside,无论用户是否登录都无关紧要。

谢谢

php if-statement laravel blade
2个回答
1
投票
<?php
if (Auth::check()){
Blade::extends('layouts.outside');
<?php } else 
extends('layouts.admin');
}?>

你错过了{在其他地方也为什么php标签删除它

     <?php
        if (Auth::check()){
        Blade::extends('layouts.outside');
        } else{ 
        extends('layouts.admin');
        }
     ?>

8
投票
@extends(Auth::user() ? 'layouts.outside' : 'layouts.admin');
© www.soinside.com 2019 - 2024. All rights reserved.