>

/admin/login 에 대한 경로가 있습니다  또한 /user/login

동일한 레이아웃 파일을 공유 할 두보기를 찾고 있으므로 첫 번째 세그먼트 (관리자 또는 사용자)를 경로 도우미로 전달하려고합니다.

가능합니까?

그러므로 효과적으로 다음과 같은 일을하고 싶습니다 :

{{ route($thisIsDynamic.'.login') }}

여기서 $thisIsDynamic   admin 일까  또는 user  URL에 따라 다릅니다.


  • 답변 # 1

    경로는 경로 이름 만 포함 할 수 있습니다. 링크를 전달하려면 URL ::

    을 사용해야합니다.
    {{ URL::to($thisIsDynamic.'login') }}
    
    

    이것 참조 : Laravel 블레이드 템플릿, URL :: to? 내의 변수마다

  • 답변 # 2

    내 이해를 바탕으로 와일드 카드를 사용하여 다음과 같이 URL에 데이터를 전달할 수 있습니다.

    경로

    Route::get('/login/{type}', function($type){
      return view('login', compact('type'));
    });
    
    

    이제 $type 에 액세스 할 수 있습니다  보기에서 변수.

    이제 경로에 액세스하려면 이름을 추가 한 다음 $type 를 전달하십시오.  

  • 답변 # 3

    동적 인 경로 이름을 기반으로하는 리디렉션은 권장하지 않습니다. 하지만 정말로 그렇게하려면 다음과 같이하십시오.

    Route::get('admin/login',"SomeController@someMethod")->name('admin-login');
    Route::get('user/login',"SomeController@someMethod2")->name('user-login');
    
    

    이름으로 전달할 때마다이 {{ route("$thisIsDynamic-login") }} 를 수행 할 수 있습니다. . 그러나 내가 말했듯이, 이것이 올바른 방법은 아닙니다. 올바른 방법으로 수행하는 방법은 다음과 같습니다.

    Web.php

    Route::get('{type}/login',function(){
        return view('login')->with('type',$type);
    });
    
    

    login.blade.php(사용 방법의 예)

    @extends('layout.you.want.to.extend')
    @section('content')
        @if($type == 'user')
            // User login form
        @else
            // Admin login form
        @endif
    @endsection
    
    
    나는 이것이 당신이하고 싶은 것이라고 가정합니다. 내가 잘못 이해했거나 질문이 더 있으면 알려주세요.

관련 자료

  • 이전 html - faviconico 오류가 발생합니다
  • 다음 php - Apache 400 잘못된 요청, 동적 라이브러리 'mbstringso'를로드 할 수 없습니다