Skip to main content

Một số chức năng của admin panel hay dùng (có thể cần thiết)

Trong quá trình phát triển ứng dụng laravel cùng với filament, 1 số tùy chỉnh và cấu hình cần thiết trong admin panel của filament nên thực hiện

Toàn bộ cấu hình tại file configure của admin panel app/Providers/Filament/AdminPanelProvider.php

1. Dùng chính trang admin làm ứng dụng

  ->path('')

Tại routes/web.php loại bỏ hoặc comment route mặc định '/'

  // Route::get('/', function () {
  //     ...
  // });

2. Dùng trang tùy chỉnh làm trang mặc định.

->homeUrl('/statistic') # đường dẫn cụ thể hoặc route tùy ý

3. Tắt breadcrumbs

  ->breadcrumbs(false)

4. Nội dung full trang

use Filament\Support\Enums\Width;
...

  ->maxContentWidth(Width::Full)

5. Thay đổi favicon

  ->favicon('/storage/CDB-LOGO.png')

6. Cho phép sidebar có thể thu gọn ở giao diện desktop

  ->sidebarCollapsibleOnDesktop()

7. Điều chỉnh lại kích thước của sidebar

  ->sidebarWidth('13rem')

8. Thêm thẻ tùy chỉnh vào thẻ head của filament:

use Filament\View\PanelsRenderHook;
use Illuminate\Support\Facades\Blade;
...
public function panel(Panel $panel): Panel
  {
    FilamentView::registerRenderHook(
        PanelsRenderHook::HEAD_END,
        fn (): string => Blade::render(<<<'HTML'
            <link rel="manifest" href="/manifest.json">
            <meta name="theme-color" content="#0f172a">
  
            <!-- iOS specific -->
            <meta name="apple-mobile-web-app-capable" content="yes">
            <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
            <meta name="apple-mobile-web-app-title" content="CDB Admin">
            <link rel="apple-touch-icon" href="/storage/CDB-LOGO.png">
  
            <script>
                if ('serviceWorker' in navigator) {
                    navigator.serviceWorker.register('/service-worker.js', { scope: './' })
                        .then(reg => console.log('SW registered:', reg.scope))
                        .catch(err => console.error('SW registration failed:', err));
                }
            </script>
        HTML)
    );
    return $panel
    ....
  }

9. Thay đổi font (google font)

  ->font('Roboto')

10. Bật chức năng trang thông tin cá nhân

  ->profile()