View :: composer在boot()服务提供程序上不起作用

问题描述 投票:0回答:1

在Laravel内部[[包装 EspacePartenaire中,我需要使用View Composer在其所有视图之间共享一些数据。

boot()中的EspacePartenaireServiceProvider方法包含以下内容:

$this->loadViewsFrom(__DIR__ . '/views', 'espace-partenaire'); View::composer('*', CurrentPartenaireComposer::class);

但是我不想在所有视图中共享数据。我只需要在Package /packages/EspacePartenaire/src/views的view文件夹中的视图中使用它

当我如下更改作曲函数的参数时:

View::composer('espace-partenaire', CurrentPartenaireComposer::class);

View::composer('espace-partenaire::*', CurrentPartenaireComposer::class);

我的错误是我的变量未定义。

我该如何实现?

编辑

:这是包裹路线文件:Route::group([ 'middleware' => ['web', 'auth'], 'namespace' => 'App\Services\EspacePartenaire\Http\Controllers', 'prefix' => 'espace-partenaire' ], function(){ ... Route::get('/', 'EspacePartenaire@index'); ... });
laravel view package
1个回答
1
投票
根据您的软件包结构,我认为以下方法可能可行,似乎第一个参数是路径,并且您可以*作为通配符。

View::composer('*espace-partenaire*', CurrentPartenaireComposer::class);

© www.soinside.com 2019 - 2024. All rights reserved.