2014-01-19 116 views
1

如何包含一個文件,該文件基於哪個路徑「category」與Laravel一起使用刀片?基本上,我試圖做這在我的視圖模板的子導航部分:包括基於路線Laravel

應用程序/視圖/佈局/ default.blade.php

@if (Route::resource() == 'tasks') 
    @include('navs.task') 
@elseif (Route::resource() == 'projs') 
    @include('navs.proj') 
@elseif (Route::resource() == 'miscs') 
    @include('navs.misc') 
@else 
    @include('navs.info') 
@endif 

但引發錯誤「未定義類常量「資源'「

回答

0

你在Route :: currentRouteName()之後。

@if (Route::currentRouteName() == 'tasks') 
    @include('navs.task') 
@elseif (Route::currentRouteName() == 'proj') 
    @include('navs.proj') 
@elseif (Route::currentRouteName() == 'misc') 
    @include('navs.misc') 
@else 
    @include('navs.info') 
@endif 
0

Michael P:你的回答讓我得到了正確的答案。 Route :: currentRouteName()返回粒度太細的'task.index'或'proj.create'。路線::電流() - > getUri()的作品。

@if (Route::current()->getUri() == 'tasks') 
    @include('nav.task') 
@elseif (Route::current()->getUri() == 'projs') 
    @include('nav.proj') 
@elseif (Route::current()->getUri() == 'miscs') 
    @include('nav.misc') 
@else 
    @include('nav.info') 
@endif 
0

很晚了,但我認爲使用Request :: is是一種更簡單的方法。

@if (Route::is('tasks')) 
    @include('navs.task') 
@elseif (Route::is('projs')) 
    @include('nav.proj') 
@elseif (Route::is('miscs')) 
    @include('nav.misc') 
@else 
    @include('nav.info') 
@endif 

此外,這是很多if else使用開關的情況下,而不是。