2017-08-31 3 views
0

view.php confファイルにカスタムパッケージのビューを追加しようとしていません。以下のサービスプロバイダを作成し、app.phpファイルに追加しました。パッケージビューへのアクセス

class FooServiceProvider extends ServiceProvider 
{ 
    public function boot() 
    { 
     $this->loadViewsFrom(__DIR__.'/../views', 'foo'); 
    } 
    public function register() 
    { 
    } 
} 

私はview('foo.test')でパッケージビューを使用しようとしました。ビューファイルは 'packages/foo/bar/views/test.blade.php'にあります。しかし、Laravelはまだビューファイルを見つけることができません。もっと必要なことはありますか?ところで、私はresource/viewsフォルダにビューファイルを公開する必要はありません。

答えて

0

あなたが今やっているようブートでビューをロードした後:

class FooServiceProvider extends ServiceProvider 
{ 
    public function boot() 
    { 
     $this->loadViewsFrom(__DIR__.'/../views', 'foo'); 
    } 
    public function register() 
    { 
    } 
} 

を今あなたがpackages/foo/bar/views/teset.blade.phpを持っているので、あなたのサービス提供者がであることが必要であるとして、適切なフォルダからサービスプロバイダの負荷をチェックpackages/foo/bar/providersそれだけで、たとえばprovidersまたは任意のother folder name引用符で囲むことができ、その後、最終的にはあなたがこのようなもので、コントローラにこのビューを呼び出すことができますが、tesetという名前の刃のファイルを持っているとあなたがtestを呼び出している、スペルチェックについて確認してください。

return ('foo::test') 

更新: だけでなく、あなたがその場で設定の変更を加える必要がある要件ごと、これはあなたがこのようなサービスプロバイダに何か持っている必要があります:

use Illuminate\View\FileViewFinder; 
use Illuminate\View\ViewServiceProvider; 

class WebViewServiceProvider extends ViewServiceProvider 
{ 

    /** 
    * Register View Folder 
    * 
    * @return void 
    */ 
    public function registerViewFinder() 
    { 

     $this->app->bind('view.finder', function ($app) { 
      $paths = 'your view directory'; 

      return new FileViewFinder($app['files'], array(base_path($paths))); 
     }); 
    } 
} 

・ホープ、このことができますし。

+0

あなたの答えをありがとう。 'テセット 'は問題のタイプでした。問題は、パッケージフォルダをビューフォルダに追加する方法です。同様に 'config/view.php'の中でビュー名前空間(' :: ')なしで動作します。 – PHPst

+0

私は答えを更新しました。 –

関連する問題