Khởi tạo dự án Laravel, cài đặt Filament
Các bước đầy đủ để khởi tạo dự án Laravel, Filament, Livewire và custom theme cho filament
1. Clone & Setup Laravel Project.
Tại thư mục htdocs của host (xóa thư mục public trước khi thực hiện)
composer create-project laravel/laravel .
Cấu hình .env:
cp .env.example .env
php artisan key:generate
Cập nhật database connection trong .env:
APP_NAME="Tên của app"
APP_URL="Đường dẫn tên miền"
// Điều chỉnh ngôn ngữ và vùng (nếu cần)
APP_LOCALE=vi
APP_FALLBACK_LOCALE=vi
APP_FAKER_LOCALE=vi_VN
...
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE="Tên database"
DB_USERNAME="Tài khoản database"
DB_PASSWORD="Mật khẩu database"
Chạy migrate:
php artisan migrate
2. Setup Node.js và npm (qua NVM)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
Xác nhận:
node -v
npm -v
3. Cài Filament Admin Panel
composer require filament/filament:"^4.0"
php artisan filament:install --panels
php artisan make:filament-user
Tạo user admin:
php artisan make:filament-user
Làm theo hướng dẫn để tạo tên, tài khoản và mật khẩu đầu tiên đăng nhập panel
4. Cài Livewire
composer require livewire/livewire
php artisan vendor:publish --force --tag=livewire:assets
5. Tạo Custom Theme Cho Filament
php artisan make:filament-theme
Sửa vite.config.js
Thêm dòng sau vào input của plugin Laravel:
input: [
'resources/css/app.css',
'resources/js/app.js',
'resources/css/filament/admin/theme.css',
],
Đăng ký theme trong AdminPanelProvider
File: app/Providers/Filament/AdminPanelProvider.php
->viteTheme('resources/css/filament/admin/theme.css')
Build theme
npm install
npm run build
6. Tùy chỉnh giao diện panel
Trong app/Providers/Filament/AdminPanelProvider.php, thêm các cấu hình:
use Filament\Support\Enums\Width;
->path('') // Loại bỏ /admin trong đường dẫn (nếu cần)
->maxContentWidth(Width::Full) // Full width cho trang
->sidebarCollapsibleOnDesktop() // Cho phép thu gọn sidebar
->sidebarWidth('13rem') // Giảm kích thước sidebar
7. Xóa route mặc định của Laravel
Mở file routes/web.php và comment route mặc định (cần thiết nếu bước trên đã loại bỏ /admin ):
// Route::get('/', function () {
// return view('welcome');
// });
8. Chạy project
Chạy server Laravel:
php artisan serve
Mở trình duyệt:
https://{Tên miền}/admin (nếu giữ lại /admin)
http://{Tên miền} (nếu đã bỏ /admin)
Đăng nhập bằng tài khoản Filament đã tạo.
Hoàn tất! Hệ thống Laravel + Filament + Livewire + custom theme hoạt động hoàn chỉnh.
Từ đây, có thể:
Thêm các Resource, Page, hoặc Widget qua Filament.
Tuỳ chỉnh giao diện trong resources/css/filament/admin/theme.css.
Xây dựng các thành phần Livewire tương tác động.
Gợi ý nâng cao
Dùng npm run dev trong quá trình phát triển để auto reload CSS/JS.
Nếu muốn dark mode, thêm class hỗ trợ trong theme.css theo hướng dẫn Filament official docs.
Cấu hình domain thực tế và SSL khi deploy:
php artisan optimize:clear
php artisan config:cache
npm run build