【问题标题】:Extending from diffrent layouts in laravel view从 laravel 视图中的不同布局扩展
【发布时间】:2015-02-26 13:08:54
【问题描述】:

我有一个可以从管理员布局或用户布局扩展的 laravel 页面。 如果用户以管理员身份登录,则应从管理员扩展,否则应从用户扩展。 我可以在我的视图中使用简单的 if 来制作这个控件吗,例如:

//in my view
@if(Auth::check())
 @extends('layouts.admin')
@else
 @extends('layouts.outside')

如果我在控制器中进行此控制,我需要为用户和管理员创建两个视图,并且我不想复制我的视图,例如:

//in my controller
if(Auth::check())
  return View::make('bot/bwin_admin');
else
  return View::make('bot/bwin_user');//the view is duplicated :(

那么如何在不复制 laravel 中的视图的情况下为视图使用不同的父布局?

【问题讨论】:

    标签: php laravel blade


    【解决方案1】:

    你可以control the layout in your controller

    首先将默认布局添加到您的控制器:

    public $layout = 'layouts.outside';
    

    然后在你的行动中这样做:

    if(Auth::check()){
        $this->layout = View::make('layouts.admin');
    }
    $this->layout->content = View::make('bot/bwin');
    

    此外,您还可以从您的视图中删除 @extends()。由于控制器定义了布局,因此不再需要它。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2016-02-15
      • 2014-12-07
      • 2017-11-10
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多