web-dev-qa-db-ja.com

デフォルトの変更方法Laravel Authログインビュー

デフォルトのログインビューをLaravel= Auth。から変更しようとしています。以前の提案では、/ vendorの下の対応するコントローラ内のパスを変更することを指しています。ただし、これは協調プロジェクトなので、ベンダーファイルの変更はオプションではありません。

デフォルトでは、Authログインのビューはauth.loginですが、backend.pages.loginにしたいです。

他にどのようにしてこれを達成できますか?

また、手動でルーターにビュールートを追加しようとしましたが、どのように配線しても、Authをクラスとして認識しません。

注:Laravel 5.3

前もって感謝します

11
StevenThelin

_App\Http\Controllers\Auth\LoginController_で、showLoginForm()という名前の関数を次のように定義します:

_public function showLoginForm()
{
    return view('custom.login');
}
_

トレイト_Illuminate\Foundation\Auth\AuthenticatesUsers_で定義されている関数showLoginFormをオーバーライドします。

:Laravel 5.3では、関数名がgetLoginからshowLoginFormに変更されています。

33
Amit Gupta

Routes/web.phpに以下の行を追加します

Route::get('/', function () {
    return view('auth.login');
});
0
Prajakta Pawar

authenticatesUsersトレイトでこのメソッドをオーバーライドします。

public function showLoginForm()
{
    return view('login');
}
0
Md. Abu Taleb

質問はすでに回答されているので、Laravelの現在のバージョンについて同じ例を示します。

Laravel 5.6以上を使用している場合、この機能は

app/Http/Controllers/Auth/LoginController.php

public function showLoginForm()
{
    return view('custom.login');
}

また、これにパラメーターを追加する場合は、次のようにWebルートで指定することで追加できます。

Route::get('login/{page?}', 'Auth\LoginController@showLoginForm')->name('login');

その後、次のようなことができます:

public function showLoginForm($page = null)
{
    if(isset($page)){
        // do something
        // example: return view('auth.login', compact('page'));
    }
    return view('auth.login');
}

ヒント:プロジェクトにLoginControllerがない場合は、必ず実行してください

php artisan make:auth
0
A. Dady