2013-04-21 2 views
1

В настоящее время я создаю приложение простого дневника, используя Laravel 4, и я хотел бы создать боковую панель и заголовок, которые будут доступны для всех просмотров администратора. Заголовок должен отображать данные пользователя, а боковая панель будет содержать ссылки на различные разделы приложения.Совместное использование просмотров и данных в Laravel 4

Я действительно не уверен, как это сделать, посмотрев View Composers, но я не уверен, как правильно их реализовать, или если это даже то, для чего они предназначены.

Если вы можете предоставить мне любую четкую документацию по этому или любым другим ресурсам, которые были бы замечательными. Благодарю.

Gareth

ответ

1

мне удалось добиться того, что я хотел бы сделать с помощью View Composer, но я хотел бы знать ваши мысли о нем, и это будет считаться наилучшей практикой или хорошим решением ли.

// View::composer for layouts.admin in my routes.php file 
View::composer('layouts.admin', function($view) 
{ 
    $user = AdminController::get(); 

    $view->with('user', $user); 
}); 

// public static method get() in AdminController 
public static function get() 
{ 
    $userGreeting = Auth::user()->greetings()->orderBy(DB::raw('RAND()'))->first(); 

    $user = new User; 
    $user->first_name = Auth::user()->first_name; 
    $user->greeting = $userGreeting->greeting; 

    return $user; 
} 

// layouts.admin view 
{{ Html::link('logout', 'Logout') }} 
<p>Hey {{ $user->first_name }}</p> 
<p>{{ $user->greeting }}</p> 
0

Для сайтов, которые не так уж сложны, мне нравится просто создавать простой шаблон с использованием клинка.

//file: template.blade.php 
@include('includes/header') 
@include('includes/sidebar') 
@include($view) 
@include('includes/footer') 

Очевидно, что я буду иметь header.blade.php, sidebar.blade.php и footer.blade.php файлы в views/includes folder.

Затем в контроллере, это так же просто, как ...

$view = 'exampleView'; 
return View::make('template')->with('view', $view); 

Кроме того, все переменные, которые вы передаете в поле зрения шаблона также будут доступны каждому из включает в себя называется в этом шаблоне.

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

  • Нет связанных вопросов^_^