Dashboard
Panel admin diakses lewat AdminController (controllers/AdminController.php), yang mendispatch ke controller turunan di controllers/Admin\* dan merender tampilan dari direktori templates/dashboard/. Device type dashboard memastikan layout, header/footer, dan aset mengacu ke set template tersebut.
AdminController.php · templates/dashboard/ · CLI make · CLI migrate
Alur baca backend
HelperDashboard — panel admin, modul Admin.
Memulai bekerja dengan dashboard
Setelah proyek siap dan basis data dapat diakses, urutan tipikal untuk masuk panel admin:
- Skema basis data. Jalankan migrasi dari root proyek agar tabel (user, package, dll.) ada — lihat CLI migrate (
nxdom migrate createdb …jika database belum dibuat, lalunxdom migrate run). - Akun pertama. Buka
/signup(contoh lokal:http://localhost/signup— sesuaikan host, port, atau subpath jika aplikasi tidak di root). Daftarkan pengguna; proses ini memakaiOauthController@signup(routes/web.php). - Masuk. Buka
/signin(mis.http://localhost/signin), masuk dengan akun yang sama. Setelah sesi aktif, Anda diarahkan ke area pengguna — URL dashboard mengikuti slug pengguna:/{username}dan anak rutenya/{username}/{halaman}.
Tanpa migrasi yang sukses, pendaftaran atau login bisa gagal karena tabel belum tersedia. Tanpa login, AdminController mengarahkan pengunjung ke /signin.
Peran AdminController
- Namespace node:
App\Controllers\Admin\— set di konstruktor lewatsetControllerNamespace(). index($params)— URL pola/{username}. Memverifikasiusernamesama dengan slug sesi; memuat variabel global (dataGlobal+assignVars), menjalankannodeController($page, …)bila ada controller untuk nilai$params['page'](bawaanindex), lalusetDeviceType('dashboard')danrender($templatePath).page($params)— URL pola/{username}/{page}/…dengan segmen ketiga opsional sebagai nama method pada controller halaman.
Direktori template: templates/dashboard/
Semua halaman panel memakai berkas HTML di bawah folder ini — mis. index.html (beranda dashboard), postingan/index.html, account/index.html, package/index.html, aset di assets/css, assets/js, komponen header.html / footer.html. Generator admin menempatkan stub halaman di subfolder yang namanya mengikuti “page” (lihat CLI make).
Modul dokumentasi
- Distroupload ZIP/HTML ke layout
dashboard - Packagehak akses menu · storage
- PostinganCRUD berita · kategori · pagination
- Themedeploy theme publik (ZIP/HTML)
- Userdaftar user · paket akses
Resolusi path template
- Di
index(), jika$page === 'index'→render('index'); selain itu →render(strtolower($page) . '/index'). - Di
page(), jika controller mendefinisikan metode statisgetTemplatePath($finalMethod, $requestMethod), nilai kembalian dipakai; jika tidak: POST →{page}/index, GET → lewatisFile3(2, 'index', 'dashboard').
Konteks global & sesi
dataGlobal() mengisi data untuk sidebar dan layout: identitas pengguna (slug, nama, email, avatar), peran tampilan, tautan terbangunan (link() memakai slug pengguna), logout, menu paket dari storage package, cookie tema (darkmode, sidebarCollapsed), dll.
Akses & aturan page()
- Selain halaman
account, jika modelUser::byIdmenunjukkan kolom telepon kosong, pengguna diarahkan ke/{slug}/account. - Halaman
account,postingan, danhomedapat diakses tanpa cek daftar paket. - Halaman lain hanya jika nama halaman ada dalam daftar
packagepengguna. Peranadminotomatis mendapat izin tambahan untuk halamanpackage. - Slug URL harus cocok dengan pengguna login; jika tidak → redirect ke
/signin.
Menambah fitur dashboard
- Controller:
nxdom make 1/NamaFiturataunxdom make Admin/NamaFitur— lihat CLI make. - Basis data: CLI migrate.
- Daftarkan halaman di sistem paket / izin pengguna agar non-admin bisa membuka menu tersebut.