2017-05-19 6 views
1

Ich muss Daten an das Layout senden, die jedes Mal funktionieren, wenn ich die Website öffne, die das Layout hinzugefügt hat (nicht nur auf mainSite, sondern auch auf Links). Ich habe versucht, so etwas wie dieses (Ich habe Boot zu funktionieren):Laravel 5 - Wie sendet man Daten an Layoutansichten?

<?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() 
{ 
    // 
} 

}

Aber ich habe immer noch Fehler: Undefined variable: Kategorien

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

Wie es config?

Antwort

0

Entschuldigung, ich habe meinen Fehler gefunden - ich habe vergessen, auf der Oberseite hinzuzufügen: App \ Category verwenden; Thema schließen.

0

Probieren Sie etwas wie dieses

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

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

in der Ansicht:

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

und Sie $foo Variable im Layout verwenden können.

Verwandte Themen