【发布时间】:2019-08-03 07:29:06
【问题描述】:
我正在尝试根据登录用户 theme 覆盖视图。我们有一个themes 表,每个用户都有一个theme 的FK。
我的目录结构如下:
- resources
- themes
- my_custom_theme
- views
我已经创建了自己的ViewServiceProvider 的副本,并且正在扩展原始副本。这很好用,我正在覆盖registerViewFinder(),这也很好用。但是在应用程序周期的这个阶段,auth()->user() 没有设置,所以我无法获得他们的主题。
/**
* Register the view finder implementation.
*
* @return void
*/
public function registerViewFinder()
{
$this->app->bind('view.finder', function ($app) {
//dd($app['config']['view.paths']);
//dd(auth()->user()->theme);
return new FileViewFinder($app['files'], $app['config']['view.paths']);
});
}
我想根据登录的用户主题生成一个路径,所以它可以从这个目录加载。 resources/themes/my_custom_theme.
如果我无法访问此处的用户,那么预期的解决方法是什么?
非常感谢
【问题讨论】:
标签: php laravel laravel-5 laravel-blade templating