douhan0562 2014-12-30 11:03
浏览 43
已采纳

从laravel视图中的不同布局扩展

I have a laravel page which can be extended from admin layout or user layout. If the user logged as admin it should extend from admin, otherwise it should extend from user. Can I make this control with a simple if inside of my view like:

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

If I do this control in my controller I need to make two view for user and admin and I dont want to duplicate my views like:

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

So how can I use different parent layout for a view without duplicating that view in laravel?

  • 写回答

1条回答 默认 最新

  • dotaer1993 2014-12-30 11:22
    关注

    You can control the layout in your controller.

    First add the default layout to your controller:

    public $layout = 'layouts.outside';
    

    Then do this in your action:

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

    Also, you can then remove the @extends() from your view. It is not needed anymore since the controller defines the layout.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀