Laravel5.6 - 覆盖供应商视图

时间:2018-06-12 10:37:05

标签: php laravel view override vendor

我尝试制作自己的供应商刀片模板版本。 我不想用视图的引用来扩展控制器。

所以在我的AppServiceProvider中我添加了这一行:

// Custom views for passport
    $this->loadViewsFrom(__DIR__.'/../../resources/views/oauth/passport', 'passport');

我在/ resources / views / oauth / passport中创建了一个名为authorize.blade.php的文件

在供应商控制器方法中,我们可以看到:

return $this->response->view('passport::authorize');

问题是,当我调用供应商控制器方法时,它会加载他的authorize.blade.php版本。我希望我能加载,我希望我添加到AppServiceProvider的新行可以做到这一点。

3 个答案:

答案 0 :(得分:2)

Passport附带VUE组件和您需要先发布以覆盖它们的视图。来自Laravel Passport page

如果您想自定义授权审批屏幕,可以使用vendor:publish Artisan命令发布Passport的视图。

您需要做的只是运行php artisan vendor:publish --tag=passport-views,供应商视图将放在resources/views/vendor/passport中,您可以在其中进行编辑。

答案 1 :(得分:0)

使用可以使用php artisan vendor:publish --tag=passport-views这会将视图复制到您的视图文件夹,供您更改。

答案 2 :(得分:0)

因此,在我的AppServiceProvider中,添加以下行:

//护照的自定义视图 $ this-> loadViewsFrom( DIR 。'/ .. / .. / resources / views / oauth / passport', '护照');

您只能通过将其放在注册表()中而不是boot()中来使用此选项。然后,无论视图是否在供应商中发布,您都可以使用它们