2014-01-19 2 views
1

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

마이클 P : 당신의 답은 정답으로 인도했습니다. Route :: currentRouteName()은 너무 세분화 된 'task.index'또는 'proj.create'를 반환합니다. Route :: current() -> 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 

또 다른 방법은 다음과 같습니다.

관련 문제