laravel 不使用已发布的视图

Posted

技术标签:

【中文标题】laravel 不使用已发布的视图【英文标题】:laravel doesn't use published views 【发布时间】:2018-04-08 09:11:36 【问题描述】:

对于我的 Laravel 5.5 项目,我使用了带有已发布和改编的刀片视图的文件管理器包 (elfinder-laravel)。过了一会儿,我发现默认视图是从包文件夹中使用的:

/vendor/barryvdh/laravel-elfinder/resources/views 

而不是已发布的视图:

/resources/views/vendor/elfinder

我尝试重新发布视图、清除视图和缓存。但没有任何帮助,它仍然使用默认的包视图。

存在 /resources/views/vendor/elfinder 中的视图。

知道如何让它工作吗?

【问题讨论】:

你发布了配置文件吗?前php artisan vendor:publish --provider='Barryvdh\Elfinder\ElfinderServiceProvider' --tag=config 【参考方案1】:

这个问题很老了,但你必须在

$this->loadViewsFrom(__DIR__.'/../resources/views', 'courier');

与中的包名相同

$this->publishes([
        __DIR__.'/../resources/views' => resource_path('views/vendor/courier'),
    ]);

(注意两次快递)

见:https://laravel.com/docs/8.x/packages#overriding-package-views

【讨论】:

请问服务商在哪里?【参考方案2】:

尝试将服务提供者文件编辑成这样:

public function boot()

    $this->loadViewsFrom($this->app->resourcePath('views/vendor/elfinder'), 'elfinder');

强制文件使用这个目录作为主视图目录,而不是改变它。

【讨论】:

请问服务提供者文件在哪里?

以上是关于laravel 不使用已发布的视图的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.5 错误基表或视图已存在:1050 表“用户”已存在

列出Laravel视图中的所有已注册变量

致命错误:允许的内存大小为 33554432 字节已用尽 - Laravel 8

Laravel 5 - 在视图中使用 Auth::check()

Laravel 4:基于身份验证状态的单个 URI 的两个不同视图页面

使用路由参数返回视图不完整且没有 Css [Laravel 5]