【发布时间】:2016-12-19 11:03:22
【问题描述】:
我想动态地制作菜单,因此显示“本月的电影”而不是显示“12 月的电影”(见图);是 12 月,每个月都会更新自己的当前月份
我的问题是菜单不属于特定的路由/控制器,因此我不能像处理其他路由一样传递变量。示例:
$month = Carbon::now()->format('F');
return view('partials._nav')
->withMonth($month);
我可以“解决”这个问题,将月份传递给所有控制器/路由,但我重复了很多次相同的代码。
我的问题是
1- 在 Laravel 中是否有任何方法可以将变量传递给某种根状态(如在 Angular 中),所以我将变量保留在我的应用程序的所有路由中可用?
2- 有什么方法可以将变量返回到多个视图?所以我只是将变量传递给所有可能的视图,例如:
return view('films.all', 'films.show', 'films.index', 'actors.show', 'actors.index')
->withMonth($month);
任何想法将不胜感激
终于有办法了:
public function boot()
{
View::composer('*', function ($view) {
$month = Carbon::now()->format('F');
$view->withMonth($month);
});
}
【问题讨论】:
-
我知道这不是您期望的答案,但是.. sublimetext.com :)
-
@everytimeicob 或者他可以购买 PHPStorm 许可证,用于版本控制、远程 FTP、SFTP、开发环境中的终端访问和完整的开发支持(自动完成等......)
-
@Disfigure 是的,我同意 MMB
标签: laravel