デフォルトのログインビューをLaravel= Auth。から変更しようとしています。以前の提案では、/ vendorの下の対応するコントローラ内のパスを変更することを指しています。ただし、これは協調プロジェクトなので、ベンダーファイルの変更はオプションではありません。
デフォルトでは、Authログインのビューはauth.login
ですが、backend.pages.login
にしたいです。
他にどのようにしてこれを達成できますか?
また、手動でルーターにビュールートを追加しようとしましたが、どのように配線しても、Auth
をクラスとして認識しません。
注:Laravel 5.3
前もって感謝します
_App\Http\Controllers\Auth\LoginController
_で、showLoginForm()
という名前の関数を次のように定義します:
_public function showLoginForm()
{
return view('custom.login');
}
_
トレイト_Illuminate\Foundation\Auth\AuthenticatesUsers
_で定義されている関数showLoginForm
をオーバーライドします。
注:Laravel 5.3では、関数名がgetLogin
からshowLoginForm
に変更されています。
Routes/web.phpに以下の行を追加します
Route::get('/', function () {
return view('auth.login');
});
authenticatesUsersトレイトでこのメソッドをオーバーライドします。
public function showLoginForm()
{
return view('login');
}
質問はすでに回答されているので、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