Bootstrap

Berikut adalah Standard Struktur dalam development menggunakan BezFrame. Penting memahami ini agar tidak salah dalam memahami Struktur Bezframe.

Struktur Pembuatan Table

Dalam pembuatan Table, ada beberapa aturan agar table anda bisa dibaca saat melakukan transaksi. Yaitu :

	CREATE TABLE `[nama_table]` (
	`id` int(11) NOT NULL,
	...
	...
	...
	`input_by` varchar(50) DEFAULT NULL,
	`input_dt` timestamp NULL DEFAULT current_timestamp(),
	`update_by` varchar(50) DEFAULT NULL,
	`update_dt` datetime DEFAULT NULL
	);
	
	ALTER TABLE `[nama_table]`
	ADD PRIMARY KEY (`id`);

	ALTER TABLE `[nama_table]`
	MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
	

Data Field diatas harus ada pada setiap table yang dibuat.
id = Primary Key atau Uniqe Key. Digunakan sebagai relation table dan dibuat Auto Increment
input_by = Default user saat data pertama kali di simpan
input_dt = Default Tanggal System saat data pertama kali di simpan
update_by = Ketika dalam proses update, maka update_by akan terisi oleh user yang melakukan update
update_dt = Tanggal System ketika data diupdate

Struktur Template Master

Informasi ini akan memberikan pengetahuan mengenai urutan jika anda akan mendevelop dengan menggunakan Template Master (1 Table). Secara umum gambaran Template master akan terlihat seperti gambar dibawah :

Urutan 1 mainform.php, File ini yang akan pertama kali dipanggil saat anda membuka menu. File ini berisi parsing parameter dari module yg akan dibuka. Anda bisa mendefinisikan Judul, Pencarian dan lainnya. Berikut adalah penjelasannya.
$paramitem_form = array ( "title_name"=>"Master Karyawan", "prm_modulname"=>"master_01", "prm_modalform"=>"modallg", "prm_reload"=>"Y", "insert_st"=>"Y", "update_st"=>"Y", "delete_st"=>"Y", "paramitem_show"=>"N", "paramitem_title"=>"SEARCH", "paramitem_min"=>"N", "paramitem_row"=>2 );
No Nama Parameter Value Keterangan
1 title_name "title_name"=>"Master Karyawan", Judul Project Anda
2 prm_modulname "prm_modulname"=>"mst_karyawan", Sesuaikan dengan nama Folder project yang di buat
3 prm_modalform "prm_modalform"=>"modallg", Nama Modal Form yang digunakan untuk proses input & Update. Ada beberapa tipe Ukuran seperti dibawah ini :
==================== modalxs = kecil modalmd = sedang modallg = besar modalxl = extra besar =====================
4 prm_reload "prm_reload"=>"Y", Tombol Reload/Refresh akan ditampilkan
5 insert_st "insert_st"=>"Y", isi {Y|N}. Y=User bisa melakukan Insert/Penambahan Data
6 update_st "update_st"=>"Y", isi {Y|N}. Y=User bisa melakukan Perubahan Data
7 delete_st "delete_st"=>"Y", isi {Y|N}. Y=User bisa melakukan Penghapusan Data
8 paramitem_show "paramitem_show"=>"N", Jika ingin menampilkan Pencarian/Filter diawal maka input dengan 'Y'
9 paramitem_title "paramitem_title"=>"SEARCH", Title Pencarian. paramitem_show='Y' (Required)
10 paramitem_min "paramitem_min"=>"Y", isi {Y|N}. Y=Parameter Pencarian memiliki Colapse untuk buka dan tutup
11 paramitem_row "paramitem_row"=>"2", Jumlah parameter yang digunakan. paramitem_show='Y' (Required)

Urutan 2 datatable.php, File ini digunakan untuk membuat datatable dihalaman awal. Anda bisa mengkonfigurasi datatable tersebut di script javascriptnya (jsaction.js) :
$("#MainTable").DataTable({ "responsive": true, columnDefs: [ { className: 'dtr-control', orderable: false, target: 0 }, { "targets": [-1], "orderable": false } ], order: [1, 'asc'], responsive: { details: { renderer: DataTable.Responsive.renderer.listHiddenNodes() } }, "iDisplayLength": 20, "lengthChange": false, "autoWidth": false, "paging": true, "searching": true, "ordering": true, "info": true, fixedHeader: true, layout: { topStart: 'buttons' }, buttons: [ { extend: 'copy', className: 'bg-primary btn-sm' }, { extend: 'print', className: 'bg-primary btn-sm' }, { extend: 'excel', className: 'bg-primary btn-sm' }, { extend: 'pdf', className: 'bg-primary btn-sm' } ] });
Urutan 3 dataform.php, File ini digunakan untuk pengoperasian Input & Edit data. Anda tidak perlu memikirkan proses input,update & delete. ANda hanya perlu mempelajari Array untuk membuat Layout. [Lihat Dokumentasi penggunaan Array]

Urutan 4 frmaction.php, File ini digunakan untuk custom proses Before & After Save (insert,Update & Delete). Call Back sukses berikan "echo 0". Sebagi Contoh, Saat anda membuat data baru, anda ingin membuat suatu proses pengecekan dahulu sebelum data tersimpan, maka buatlah coding anda pada $roleaction =='before' untuk case "insert".
if ($roleaction =='before') { switch ($paction) { case "insert": /* Buat proses sebelum simpan anda di sini */ Jika proses = berhasil echo 0; Jika proses = tidak berhasil echo "Error xxxxxx"; }
if ($roleaction =='before') { switch ($paction) { case "insert": echo 0; // Callback 0 = true break; case "update": echo 0; // Callback 0 = true break; case "delete": echo 0; // Callback 0 = true break; default: echo 0; // Callback 0 = true break; } }else if ($roleaction =='after') { switch ($paction) { case "insert": echo 0; // Callback 0 = true break; case "update": echo 0; // Callback 0 = true break; case "delete": echo 0; // Callback 0 = true break; default: echo 0; // Callback 0 = true break; } }

Urutan 5 jsaction.js, File ini digunakan untuk custom proses javascript jika diperlukan

Struktur Template Master Detail

Informasi ini akan memberikan pengetahuan mengenai urutan jika anda akan mendevelop dengan menggunakan Template Master Detail atau Multi Detail. Secara umum gambaran Template master akan terlihat seperti gambar dibawah :

Tampilan Awal

Tampilan Kedua(Master Detail Transaction)



Urutan 1 mainform.php, Samahalnya seperti template master, File ini yang akan pertama kali dipanggil saat anda membuka menu. File ini berisi parsing parameter dari module yg akan dibuka. Anda bisa mendefinisikan Judul, Pencarian dan lainnya. Berikut adalah penjelasannya.

Urutan 2 datatable.php, File ini digunakan untuk membuat datatable dihalaman awal. (Sama dengan template master) :

Urutan 3 masterform.php, File ini digunakan untuk pengoperasian Master Table.

Urutan 4 tabledata_detail & tableform_detail, File ini digunakan untuk pengoperasian Detail Transaksi. Untuk setiap 1 detail akan memiliki 2 file yaitu (table & form). Table digunakan untuk menampilkan data, sementara form digunakan untuk proses input & edit. (Silahkan pelajadi contoh file untuk lebih jelasnya)

Urutan 5 mstjsaction.js, Custom Javascript untuk Data Master.
detailjsaction.js, Custom Javascript untuk Data Detail.

Urutan 6 frmmstaction.php, Custom proses Data Master Before & After Save (insert,Update & Delete).
frmdtlaction.php, Custom proses Data Detail Before & After Save (insert,Update & Delete).

BEZFRAME