Quantcast
Channel: Masino Sinaga
Viewing all articles
Browse latest Browse all 181

Menentukan Halaman Default yang Tampil di Aplikasi Web dari PHPMaker 2021

$
0
0

Jika di versi 2020 dan sebelumnya PHPMaker menyediakan server event untuk menentukan halaman default atau halaman pertama yang ditampilkan, dengan menulis kode melalui Server Events -> Other -> Index Page -> Page_Redirecting, maka sejak versi 2021 server event tersebut sudah dihapus dari dalam project PHPMaker.

Hal ini terjadi karena di versi 2020, kode untuk server event tersebut akan di-generate ke dalam halaman index.php, dan file ini bisa dipanggil secara langsung dari URL. Sedangkan di versi 2021, file index.php sudah tidak bisa lagi dipanggil secara langsung dari URL. Jika halaman index.php dipanggil secara langsung pada Aplikasi Web yang dihasilkan oleh PHPMaker 2021, maka akan menimbulkan error Route ‘index.php’ not found..

Sebagai gantinya, kita sebagai Web Developer dapat mengoptimalkan setting Start page yang terdapat di menu/tab Generate. Atau, jika setting ini dikosongkan, maka PHPMaker akan menampilkan halaman yang memiliki setting Default pada table yang dipilih dari tab/pengaturan level Tables.

Jika pengaturan pada level Tables ini dikosongkan juga, maka PHPMaker akan otomatis menampilkan halaman List milik table yang berada pada urutan paling atas di panel Database pada project PHPMaker. Jika permission List untuk table tersebut tidak diberikan kepada level pengguna Anonymous, maka sistem akan mengembalikan pesan error yang berisi Anda tidak memiliki ijin untuk mengakses {namatable}, lalu sistem akan me-redirect ke halaman Login.

Semua yang kita bahas barusan adalah untuk halaman Default yang ditampilkan pada saat kondisi Pengguna belum login ke dalam Aplikasi Web. Nah, pertanyaannya, bagaimana cara kita untuk menentukan halaman Default yang ditampilkan jika Pengguna sudah berhasil login secara dinamis?

Untuk me-redirect Pengguna ke halaman tertentu setelah berhasil login, maka di versi 2021 ini kita bisa menggunakan server event Page_Redirecting yang terdapat pada lokasi Server Events -> Other -> Login Page:

    //if (IsLoggedIn()) {
    	if (CurrentUserLevel() == "1") {
    		$url = "orders/list";
    	} elseif (CurrentUserLevel() == "2") {
    		$url = "products/list";
    	}
    //}

Dalam contoh kode di atas, kita menggunakan project demo yang sudah disediakan oleh PHPMaker. Pengguna dengan level 1 (Sales), akan otomatis diarahkan ke halaman List milik table orders setelah berhasil login. Sedangkan Pengguna dengan level 2 (Manager), akan diarahkan oleh sistem ke halaman List milik table products.

Perhatikanlah kode pada baris paling atas dan paling bawah. Kode tersebut kita tutup menjadi komentar. Artinya, pemeriksaan apakah si Pengguna sudah berhasil login tidak wajib dilakukan lagi, karena level Pengguna Sales (1) dan level Pengguna Manager (2) masing-masing tidak sama dengan level Pengguna Anonymous (-2).

Sampai di sini, kita sudah bisa menentukan halaman Default untuk level Pengguna Anonymous, dan level Pengguna lainnya jika sudah berhasil login. Pertanyaan selanjutnya, apakah kita bisa mengarahkan Pengguna ke halaman tertentu jika sudah berhasil logout?

Bukan PHPMaker namanya jika hal ini tidak bisa dilakukan dengan sangat mudah dan cepat, hehehe… 😉

Kita cukup menggunakan server event Page_Redirecting yang terdapat pada lokasi Server Events -> Other -> Logout Page:

    if (CurrentUserLevel() == "1") {
    	$url = "news";
    } elseif (CurrentUserLevel() == "2") {
    	$url = "home";
    }

Kode ini artinya, untuk level Pengguna Sales (1), maka setelah berhasil logout, sistem akan mengarahkan ke halaman News. Sedangkan jika level Pengguna Manager (2) berhasil logout, maka sistem akan mengarahkan ke halaman Home.

Betapa mudahnya, bukan? Hanya dengan sedikit kode PHP itu saja, kita sudah bisa menerapkan business logic sesuai kebutuhan kita.

PHPMaker memang keren! 😉


Viewing all articles
Browse latest Browse all 181

Trending Articles