J'essaie de changer la vue de connexion par défaut, de Laravel Auth. Les suggestions précédentes indiquent la modification du chemin à l'intérieur du contrôleur correspondant, sous/vendor. Cependant, il s'agit d'un projet coopératif, donc la modification des fichiers du fournisseur n'est pas une option.
Par défaut, la vue pour la connexion d'authentification est auth.login
, mais je veux que ce soit backend.pages.login
.
De quelle autre manière puis-je accomplir cela?
J'ai également essayé d'ajouter manuellement les itinéraires de vue dans le routeur, mais il ne reconnaîtra pas Auth
en tant que classe, peu importe comment je le connecte.
Remarque: c'est Laravel 5.3
Merci d'avance
Dans App\Http\Controllers\Auth\LoginController
Définissez une fonction nommée showLoginForm()
comme:
public function showLoginForm()
{
return view('custom.login');
}
Il remplace la fonction showLoginForm
définie dans le trait Illuminate\Foundation\Auth\AuthenticatesUsers
.
Note: Dans Laravel 5.3 le nom de la fonction est changé de getLogin
à showLoginForm
.
Ajoutez les lignes ci-dessous dans routes/web.php
Route::get('/', function () {
return view('auth.login');
});
dans votre trait AuthenticatesUsers, remplacez cette méthode:
public function showLoginForm()
{
return view('login');
}
Comme la question a déjà été répondue, je vais donner le même exemple pour la version actuelle de Laravel.
Si vous êtes sur Laravel 5.6 et plus, cette fonctionnalité doit être mise en
app/Http/Controllers/Auth/LoginController.php
public function showLoginForm()
{
return view('custom.login');
}
De plus, si vous souhaitez ajouter un paramètre à cela, vous pouvez le faire si vous le spécifiez dans votre itinéraire Web comme ceci:
Route::get('login/{page?}', 'Auth\LoginController@showLoginForm')->name('login');
Ensuite, vous pouvez faire quelque chose comme ceci:
public function showLoginForm($page = null)
{
if(isset($page)){
// do something
// example: return view('auth.login', compact('page'));
}
return view('auth.login');
}
Astuce: si vous n'avez pas le LoginController dans votre projet, assurez-vous d'exécuter
php artisan make:auth