【发布时间】:2012-10-14 05:55:01
【问题描述】:
在用户登录到我正在开发的应用程序后,根据他们的角色,他们需要看到一组不同的菜单项。
我创建了一个名为“menu”的过滤器,在其中组装菜单项。我在我的routes.php 中有这个在一切之前运行我的过滤器:
Route::group(array('before' = 'auth|menu'), function()...
在我的菜单过滤器的末尾,我有这个让菜单类在每个视图中都可以访问:
View::share('menu', $menu);
为了实际构建菜单,我使用Laravel Menu bundle,但我还没有找到从控制器动态设置菜单项“活动”标志的最佳方法。
菜单包检查 URL 以设置活动标志(这对我不起作用,因为它似乎将路径名与 URI::current() 进行比较,只有后者返回包含域、端口和所有内容的完整 URL,所以它从不匹配),但我宁愿以某种方式从我的控制器中访问 $menu 类,以便我可以直接修改它。
我应该怎么做?当使用注册表(又名美化全局变量)时会出现这种情况吗?
【问题讨论】:
标签: design-patterns menu bundle laravel