2017-08-31 5 views
0

J'essaie d'utiliser les vues de mon package personnalisé sans les ajouter au fichier view.php conf. J'ai créé le fournisseur de services suivant et l'a ajouté au fichier app.php. J'ai essayé d'utiliser une vue de paquet par view('foo.test'). Le fichier de vue se trouve dans 'packages/foo/bar/views/test.blade.php'. Cependant Laravel ne peut pas encore trouver le fichier de vue. Y a-t-il quelque chose de plus à faire? BTW, je n'ai pas besoin de publier des fichiers de vue au dossier resource/views.Accès aux vues de package

Répondre

0

Une fois que vous avez chargé les vues dans le coffre que vous faites en ce moment:

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

Vérifiez votre charge fournisseur de services dans le dossier approprié comme en ce moment vous avez packages/foo/bar/views/teset.blade.php si votre fournisseur de services doit être en packages/foo/bar/providers il peut être providers ou tout other folder name nous venons de citer par exemple, et s'il vous plaît assurez-vous au sujet de la vérification orthographique, vous avez le fichier de lame nommé teset et vous appelez test finalement vous pouvez appeler ce point de vue dans le contrôleur avec quelque chose comme ceci:

return ('foo::test') 

Mise à jour: bien que par l'exigence que vous devez faire des changements dans config sur la mouche, alors ce que vous devez avoir fournisseur de services quelque chose comme ceci:

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))); 
     }); 
    } 
} 

Hope this helps.

+0

Merci pour votre réponse. 'teset' était un type en question. La question est comment puis-je ajouter mon dossier de paquet pour voir les dossiers. De la même façon que cela fonctionne dans 'config/view.php' sans espace de noms de vue (' :: ') – PHPst

+0

J'ai mis à jour la réponse s'il vous plaît vérifier. –