2017-05-19 5 views
1

레이아웃을 추가해야하는 사이트를 열 때마다 작동하는 레이아웃에 데이터를 보내야합니다 (mainSite뿐 아니라 링크에서도). 나는 (내가 부팅 기능 추가) 이런 식으로 뭔가를 시도 :Laravel 5 - 레이아웃보기로 데이터를 보내는 방법은 무엇입니까?

<?php 

namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 

class AppServiceProvider extends ServiceProvider 
{ 
/** 
* Bootstrap any application services. 
* 
* @return void 
*/ 
public function boot() 
{ 
    view()->composer('layout', function($view) 
    { 
     $categories = Category::all(); 
     $view->with('categories', $categories); 
    }); 

} 

/** 
* Register any application services. 
* 
* @return void 
*/ 
public function register() 
{ 
    // 
} 

}

하지만 난 여전히 오류가 있습니다 정의되지 않은 변수를 카테고리

(View: 
/laravel/shop/resources/views/layout.blade.php) (View: 
/laravel/shop/resources/views/layout.blade.php) 

방법을 config (설정) 할 수 있습니까?

답변

0

죄송합니다. 실수를 발견했습니다. 상단에 추가하는 것을 잊어 버렸습니다. App \ Category를 사용하십시오. 제목이 닫습니다. 뷰에서이

view(*)->composer('layout', function($view) 
{ 
    $categories = Category::all(); 
    $view->with('categories', $categories) 
}); 

view()->share('categories ', $categories); 
0

시도 뭔가 : 당신이 레이아웃에 $foo 변수를 사용할 수 있습니다

@extends('some-layout',array('foo' => 'bar'))

합니다.