2013-05-28 2 views
0

laravel의 단일보기에 가변 레이아웃을 사용하는 방법이 있는지 알고 싶습니다.Laravel : 단일보기의 변수 레이아웃

나는 로그인 섹션을 보았습니다. AJAX를 통해 로그인 뷰를 라이트 박스에 표시하려고합니다. 나는 그것이 ajax를 통해 호출 될 때 login view에 다른 레이아웃을 사용할 것을 생각하고 있었다. 다음과 같이 표시됩니다.

if($_GET["from"] == "ajaxLink") { 
// use layout1 
} else { 
// use layout2 
} 

분명히 나옵니다. :) 내가 할 수있는 어떤 방법이 있습니까 ??

감사합니다.

답변

1

2 가지.

1. 블레이드 레이아웃

컨트롤러 :

$layout = Request::ajax() ? 'layout1' : 'layout2'; 

$data = array('layout' => $layout); 

return View::make('index', $data); 

보기 :

@layout($layout) 
//rest of the code.... 

2. 컨트롤러 레이아웃

public function action_index() 
{ 
    $this->layout = Request::ajax() ? 'layout1' :'layout2'; 
    $this->layout->nest('content', 'index'); 
} 
+0

매력처럼 작동했습니다. 감사합니다 –

+0

당신은 오신 것을 환영합니다. 위에 컨트롤러 레이아웃 approac도 추가되었습니다. – itachi

+0

@itachi 컨트롤러 레이아웃 방법이 효과가 있습니까? 액션에서'$ this-> layout'을 설정할 때'View :: make()'를 할 필요가 없습니까? –