Skip to content

Bug: Menu sidebar tidak muncul di Laravel 13 (event discovery tidak menemukan BuildingMenu) #1087

Description

@apidong

Deskripsi Masalah

Setelah migrasi dari Laravel 9 ke Laravel 13, menu sidebar hanya menampilkan 2 item (Dasbor dan Dasbor Demografi). Menu dari tabel eam (Profile Kependudukan, Statistik, Laporan, Pengaturan, dll) tidak di-load ke sidebar.

Root Cause

Di Laravel 13, event auto-discovery tidak menemukan BuildingMenu event dari package vendor (jeroennoten/laravel-adminlte).

MenuListener yang seharusnya load menu dari tabel eam ke sidebar melalui BuildingMenu event tidak pernah di-trigger.

Bukti

`�ash
$ php artisan event:list | grep -i Building

(kosong - BuildingMenu tidak terdaftar)

`

Setelah cache dibersihkan:
`�ash
$ php artisan event:clear
$ php artisan event:cache
$ php artisan event:list | grep -i Building

Tetap kosong

`

Solusi

Register manual MenuListener di AppServiceProvider::boot():

`php
use App\Listeners\MenuListener;
use Illuminate\Support\Facades\Event;
use JeroenNoten\LaravelAdminLte\Events\BuildingMenu;

public function boot(): void
{
// ... existing code ...
->registerMenuListener();
}

private function registerMenuListener(): void
{
Event::listen(BuildingMenu::class, MenuListener::class);
}
`

Lingkungan

  • OpenKab Version: v2607.0.0
  • Laravel: 13.x
  • jeroennoten/laravel-adminlte: v3.16.0
  • PHP: 8.x

Catatan

Masalah ini terjadi karena Laravel 13 tidak auto-discover events dari package vendor. Di Laravel 9, event discovery bekerja untuk package vendor. Di Laravel 13, hanya events di namespace App\Events yang di-discover otomatis.

Metadata

Metadata

Assignees

Labels

Prioritas: KritisBerdampak langsung pada operasional, harus segera ditanganibugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions