2015-08-27 3 views
-1

Я узнаю о Ларавеле. Я знаю, как создать контроллер, который строит массив данных из модели Eloquent, передает этот массив в представление и отображает его.Извлечь данные изнутри Вид клинка

То, что я пытаюсь сделать, это создать основной вид, который содержит информацию верхнего и нижнего колонтитула, используемую всеми страницами. Затем я пытаюсь использовать дочерний вид для отображения тела.

Основной файл лезвия имеет элемент include для файла, который создает динамическую навигационную панель.

Как я могу получить данные из включенного файла основного файла лезвия, который вызывается дочерним?

То, что я (очень сокращенная) является:

main.blade.php

<html> 
@include('header') 
<body> 
@section('content') 

@stop 
</body> 
</html> 

home.blade.php

@extends('main') 

@section('content') 
    <h1>Home</h1> 
@endsection 

Теперь от контроллера, я называю домом .blade.php view

Могу ли я получить данные, которые необходимы в виде заголовка из INSIDE, заголовочный файл чем передавать данные из всех просмотров, которые я вызываю? Или мне нужно просто создать глобальную функцию, которую я вызываю на каждом контроллере, прежде чем я вызову представление?

+1

Где код, который вы пытались сделать? – aldrin27

ответ

0

В главной странице:

<html> 
    @include('header') 
<body> 
    @yield('content') 
    </body> 
    </html> 

На ваш взгляд:

@extends('main') 

    @section('content') 
    <h1>Home</h1> 
    @endsection 
+0

Это просто переписывание того, что у меня есть. Я спрашиваю, как получить данные в файл include с заголовком, не передавая данные от дочернего элемента родительскому объекту каждый раз, когда –

+0

Где находится ваш код с контроллера? или вы можете показать мне свой код внутри своего заголовка? – aldrin27

0

динамическая панель навигации вы упоминаете должны исходить из представления композитора. Таким образом, он будет доступен все время для всех просмотров.

Выполните тест со следующим в файле routes.php:

View::composer('*', function($view) 
{ 
    // $navBar stuff 
    $view->with('navBar', $navBar); 
}); 

Теперь $navBar будет доступен в ваших взглядах.

http://laravel.com/docs/5.1/views#view-composers

Смежные вопросы