Reputation: 846
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?
Upvotes: 0
Views: 883
Reputation: 152860
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.
Upvotes: 2