BangularTK BangularTK - 2 years ago 105
PHP Question

Include package view in my main view

I have a package in my Laravel project that has a view of it's own. I need to include that view in the main view of my project. My package is named as Tkabir\Somepackage. In my project's config/app.php, I have included the service provider for the package as

'providers' => [
* Package Service Providers...

and also included alias for package's facade as

'aliases' => [
'Somepackage' => Tkabir\Somepackage\Facade\Somepackage::class,

But still, when I try to include the view from the package in my main view like this:


...where welcome.blade.php is the blade view file in my package, I get the following error displayed:

ErrorException in FileViewFinder.php line 112:
No hint path defined for [Somepackage]. (View: E:\xampp\htdocs\laravel->projects\test_package\resources\views\welcome.blade.php)

What may seem to be the problem here?

Here's the link to my package in Github, if anyone needs to see the files: mypackage

Answer Source

@include includes a view. You're calling in a method for a class.

You're including configurations correctly with

    .'/Config/somepackage.php' => config_path('somepackage.php'),
], 'config');

You need to do the same thing for your views in your service provider's boot() method for views: | Header: Publishing Views

You also need to run php artisan vendor:publish just as you would for configurations, and include your view in with @include

Take a look at the link I gave for full documentation on building packages in Laravel

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download