2016-10-27 98 views
0

我在我的Laravel項目中有一個包含它自己的包的包。我需要在我的項目的主視圖中包含該視圖。我的軟件包被命名爲Tkabir \ Somepackage。在我的項目的config/app.php,我已經包括了包裝上的服務供應商在我的主視圖中包含包視圖

'providers' => [ 
    /* 
    * Package Service Providers... 
    */ 
    Tkabir\Somepackage\SomeServiceProvider::class, 
] 

,也包括了包裝的正面別名爲

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

但儘管如此,當我嘗試包括鑑於從包在我的主要觀點是這樣的:

@include('Somepackage::welcome') 

...其中welcome.blade.php是我的包刀片視圖文件,我得到顯示以下錯誤:

FileViewFinder.php中的ErrorException異常行112: 沒有爲[Somepackage]定義的提示路徑。 (查看:E:\ xampp \ htdocs \ laravel-> projects \ test_package \ resources \ views \ welcome.blade.php)

看起來這裏有什麼問題?

這裏的鏈接到我的包在Github上,如果有人需要看文件:mypackage

+0

另外,有人可以有高代表請編輯我的帖子的標題,使更多的意義?我開始寫標題,但後來完全忘了完成它-_- – BangularTK

+0

更好地發佈您的包視圖到laravel資源目錄它將很容易訪問。 – umefarooq

回答

0

@include包括視圖。你在爲一個班級打電話。

你包括

$this->publishes([ 
    .'/Config/somepackage.php' => config_path('somepackage.php'), 
], 'config'); 

你需要做你的意見同樣的事情在你的服務提供商的boot()方法的觀點正確配置:https://laravel.com/docs/5.3/packages#views |標題:出版社訪問量

您還需要運行php artisan vendor:publish就像你的配置,並且包括與@include

您的觀點看看我在Laravel

了對建築包裝完整文檔的鏈接
+0

非常感謝!完全按照你的說法,它就像一個魅力!但是,從controller/config定義的包中,我有一些變量。所以爲了在我的主視圖中使用這些變量,我還必須從包中發佈控制器和配置文件,對吧? – BangularTK

+0

這可能是最好的離開Laravel控制器,而只是在你的包中創建一個類。然後在加載需要包含的視圖的其中一個控制器中調用該類,然後傳入該數據。 – Pazuzu156