2014-04-04 1 views
1

Я новичок в Laravel, и если я хочу, например, иметь доступную переменную во всех представлениях по умолчанию, есть ли лучший способ, чем передать это переменная каждый раз w/лучший способ поместить некоторые переменные в Laravel-> Blade

return View::make('views_x.some_view')->with('client_to_show', $client_to_show); 

? Или лучше, чем хранить их в сеансе, а затем получить доступ к ним в представлении? Я пытался ставить переменную в мастер компоновки:

//layout.master.blade.php on top 
<?php 
    $str_sel_names  = 'one_value'; 
?> 
<!-- starts template --> 
<!DOCTYPE html> 
<html lang="en"> 

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

@extends('layouts.master')

@section('content') 
... 
{{$str_sel_names}} 

я получаю: [ErrorException Неопределенная переменная: str_sel_names (Вид: C: \ Work \ lara_street \ laravel \ app \ views \ core \ dashboard.blade.php)]

Идеи? Лучшие способы сделать это?

+0

Поместите их в массив, или как свойства объекта StdClass и передать, что Клинок –

+0

да .. но в этом случае я понимаю, я должен был бы пройти это явно к мнению .. снова и снова. – rrubiorr81

ответ

7

Вы можете использовать Просмотр Композиторы:

View::composer(['store.index', 'products.*'], function($view) 
{ 
    $view->with('client_to_show', $client_to_show); 
}); 

Вы можете поместить это в файл маршрутов, фильтрует файл или, как, мне, создать app/composers.php и нагрузку путем добавления

require app_path().'/composers.php'; 

к вашему app/start/global.php файл.

Посмотреть Share другой вариант:

View::share('client_to_show', $client_to_show); 
+0

где я должен поставить этот вызов :: share call? – rrubiorr81

+1

Зависит от того, как вы получаете информацию для своего клиента $ client_to_show. Но вы можете добавить к контроллеру __construct(), но если это что-то глобальное, вы также можете использовать такой файл, как 'app/composers.php', как я уже говорил в последнем ответе. –

+0

thx, @Antonio ..! довольно полезная информация .. – rrubiorr81

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

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