فیلامنت، ورود با نام کاربری به جای ایمیل
![](https://files.virgool.io/upload/users/957/posts/u2u2jr9ircnl/6dkajmfr0czi.png)
در FilamentPHP صفحه لاگین به صورت پیش فرض این جوریه که با ایمیل و کلمه عبور کار می کنه، در ادامه می نویسم که چطور باید تغییرات بدیم که با نام کاربری (مثلا شماره همراه) و کلمه عبور بتونیم لاگین کنیم:
0- قبل از هر چیز یادتون باشه که در جدول کاربران فیلد user_name رو ایجاد کنید.
1- فایلی رو در مسیر زیر ایجاد می کنیم:
app/Filament/Auth/Login.php
2- کدهای زیر رو در فایل مورد نظر کپی کنید:
<?php
namespace App\Filament\Pages;
use Filament\Facades\Filament;
use Filament\Pages\Auth\Login;
use Filament\Forms\Components\Component;
use Filament\Forms\Components\TextInput;
use Illuminate\Contracts\Support\Htmlable;
class CustomLogin extends Login
{
public function mount(): void
{
if (Filament::auth()->check()) {
redirect()->intended(Filament::getUrl());
}
/* if (app()->environment('local')) {
$this->form->fill([
'user_name' => 'admin',
'password' => 'password',
]);
} */
}
protected function getCredentialsFromFormData(array $data): array
{
return [
'user_name' => $data['user_name'],
'password' => $data['password'],
];
}
public function getTitle(): string|Htmlable
{
return __(' ورود به حساب کاربری ');
}
public function getHeading(): string|Htmlable
{
return __(' ورود به حساب کاربری ');
}
protected function getEmailFormComponent(): Component
{
return TextInput::make('user_name')
->label('نام کاربری')
->required()
->autofocus()
->extraInputAttributes(['tabindex' => 1])
->autocomplete();
}
}
3- در فایل AdminPanelProvider.php در قسمت panel$ قطعه کد زیر رو تغییر بدین:
->login(CustomLogin::class)
و تمام
مطلبی دیگر از این انتشارات
آموزش نصب و راه اندازی inertia - vue3
مطلبی دیگر از این انتشارات
آموزش نصب لاراول 10
مطلبی دیگر از این انتشارات
روش اصولی و اساسی آنلاین کردن پروژه لاراول