2014-02-13 7 views
29

Ich versuche, eine Website mit Laravel einzurichten, aber ich habe wirklich Probleme mit grundlegenden Dingen, die die Dokumentation gerade nicht abdeckt.Wie wird eine Unteransicht in Blade-Vorlagen eingefügt?

In diesem Fall sehe ich, dass es heißt, ich kann eine Ansicht in eine andere einschließen, indem Sie @include('view.name') verwenden. Was ist view.name? Wo wird es gespeichert? Ich habe versucht, eine Datei app/views/view.name.blade.php zu erstellen, aber es wurde nicht gelesen. Wie wird der Dateiname dem Blade-Namen zugeordnet?

Antwort

14

EDIT: Unten war die bevorzugte Lösung im Jahr 2014. Heutzutage sollten Sie @include verwenden, wie in der anderen Antwort erwähnt.


In Laravel sieht der Punkt als Ordner-Separator verwendet wird. So zum Beispiel ich habe diesen Code

return View::make('auth.details', array('id' => $id)); 

, die App Punkte/views/Auth/details.blade.php

Und ein Blick in Hinblick auf gehören Sie wie folgt tun:

Datei: layout.blade.php

<html> 
    <html stuff> 
    @yield('content') 
</html> 

Datei: hello.blade.php

@extends('layout') 

@section('content') 
    <html stuff> 
@stop 
116

können Sie die Klinge Template-Engine verwenden:

@include('view.name') 

'view.name' würde in der Hauptansichten Ordner leben

// for laravel 4.X 
app/views/view/name.blade.php 

// for laravel 5.X 
resources/views/view/name.blade.php 

Ein weiteres Beispiel

@include('hello.world'); 

würde die Anzeige folgende Ansicht

Ein weiteres Beispiel

@include('some.directory.structure.foo'); 

würde zeigen folgende Ansicht

// for Laravel 4.X 
app/views/some/directory/structure/foo.blade.php 

// for Laravel 5.X 
resources/views/some/directory/structure/foo.blade.php 

Also im Grunde die Punktnotation die Verzeichnishierarchie definiert, die Ihrer Ansicht nach in ist, durch den Namen der Ansicht gefolgt, bezogen auf app/views Ordner für Laravel 4.x oder Ihren resources/views Ordner in Laravel 5.x

ZUSÄTZLICHE

Wenn Sie Parameter übergeben möchten: @include('view.name', array('paramName' => 'value'))

Sie können dann den Wert in Ihren Ansichten verwenden wie so <p>{{$paramName}}</p>

+20

Dieser akzeptierte Antwort werden sollte. – Hendyanto

+4

und Parameter übergeben: @include ('partially', array ("variable" => "value")) – Sam

+2

Wie kann ich aus einem anderen Ordner als 'views 'aufnehmen? – itsazzad