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