rru*_*r81 1 php undefined laravel blade laravel-4
我是Laravel的新手,我想,例如,默认情况下,在所有视图中都有一个变量,是否有比每次传递该变量更好的方法
return View::make('views_x.some_view')->with('client_to_show', $client_to_show);
Run Code Online (Sandbox Code Playgroud)
?或者比在Session中存储它们然后在视图中访问它们更好?我尝试将变量放在布局主文件中:
//layout.master.blade.php on top
<?php
$str_sel_names = 'one_value';
?>
<!-- starts template -->
<!DOCTYPE html>
<html lang="en">
Run Code Online (Sandbox Code Playgroud)
但是这个只能在模板布局中访问..而不是子视图......
@extends('layouts.master')
@section('content')
...
{{$str_sel_names}}
Run Code Online (Sandbox Code Playgroud)
@extends('layouts.master')
return View::make('views_x.some_view')->with('client_to_show', $client_to_show);
Run Code Online (Sandbox Code Playgroud)
我得到:[ErrorException未定义的变量:str_sel_names(查看:C:\ Work\lara_street\laravel\app\views\core\dashboard.blade.php)]
想法?更好的方法来做到这一点?
您可以使用View Composers:
View::composer(['store.index', 'products.*'], function($view)
{
$view->with('client_to_show', $client_to_show);
});
Run Code Online (Sandbox Code Playgroud)
你可以把它放在你的路线文件,过滤器文件或者像我这样,app/composers.php通过添加来创建和加载
require app_path().'/composers.php';
Run Code Online (Sandbox Code Playgroud)
到你的app/start/global.php文件.
查看共享是另一种选择:
View::share('client_to_show', $client_to_show);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |