Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 21.01.2013 15:36:22

Элементарный вопрос "Маршрут -> Вид"

Со всем разобрался и начал собирать сайтик, и столкнулся с такой вот дилеммой, есть например маршрут:

PHP
Route::get('/', function()
{
    
$films Film::with('genres')->order_by('films.updated_at''desc')->paginate('5');
    return 
View::make('film') -> with('films'$films)->with('title''Ручное название страницы');
});


Route::get('country/(:num)', function($id)
{
    
$Country Countries::find($id);
    
$films $Country->films()->paginate('5');
    return 
View::make('film') -> with('films'$films)->with('title'$Country->name);
});

Собственно при посещении страницы http:www.test.com/ или http:www.test.com/country/123 мы видим шаблон film:

PHP
@layout('home.index')

@
section('content')

@foreach (
$films->results as $item)
<
h1>{{ $item->name }}</h1>...
@endforeach

в нем уже есть home.index, вот вопрос как написать вывод данных например «меню категории» для всех страниц сайта и передавать их в home.index?

самой простое что пришло в голову, это выводить сразу в шаблоне home.index: Razdels::all(); но это не правильно

Изменено Dem (21.01.2013 15:37:23)

Не в сети

#2 21.01.2013 15:40:15

Re: Элементарный вопрос "Маршрут -> Вид"

  1. мы видим шаблон film

@endsection, надеюсь, не забыл?

Одинаковые элементы можно выводить через @include('menu'), где передаётся имя шаблона.

Не в сети

#3 21.01.2013 15:43:49

Re: Элементарный вопрос "Маршрут -> Вид"

@endsection, не забыл ☺, это пример, по коду все работает. Непонятно как обратиться к модели для всех страниц и передать данные в тот же @include(’menu’)

Не в сети

#4 21.01.2013 15:46:30

Re: Элементарный вопрос "Маршрут -> Вид"

Посмотри в сторону View::composer(), через который можно прицепить собственный обработчик, вызываемый перед выводом шаблона — через него обычно цепляются общие данные типа меню и авторизации.

Не в сети

#5 21.01.2013 15:51:03

Re: Элементарный вопрос "Маршрут -> Вид"

Тоесть вот под мой случай?

question.png

Не в сети

#6 21.01.2013 15:59:09

Re: Элементарный вопрос "Маршрут -> Вид"

Да.

Не в сети

#7 21.01.2013 16:33:47

Re: Элементарный вопрос "Маршрут -> Вид"

Ну почему в мануале на реальном примере не напишут )) например в routes.php:

PHP
View::composer('home.footer', function($view){
    
$view->with('menuitems'Genre::all());
});

В шаблон home/footer.blade.php:
$menuitems


Спасибо за View::composer

Изменено Dem (21.01.2013 16:34:01)

Не в сети

Подвал раздела