Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Antara Page_Load atau Page_DataRendering di Halaman List dari PHPMaker
Mencegah Pengguna Menambah Baris Baru di Tabel Detail Aplikasi Web dari PHPMaker
Memilih Otomatis Bahasa untuk Pengguna di Aplikasi Web dari PHPMaker

Antara Page_Load atau Page_DataRendering di Halaman List dari PHPMaker

Kam, 4 Juni 2015 oleh Masino Sinaga 3 Komentar

Pernahkah Anda menggunakan server event Page_Load dan/atau Page_DataRendering di Halaman List pada Aplikasi Web yang dihasilkan oleh PHPMaker? Jika ya, apakah Anda pernah mengamati ada perbedaan yang cukup signifikan di antara keduanya? Mengapa saya bertanya demikian, supaya kita bisa mengoptimalkan kedua server event ini sesuai dengan tujuan dari business-logic yang kita harapkan.

Jika mengacu kepada menu Help di PHPMaker, maka server event Page_Load memiliki penjelasan seperti ini:

This event will be called after connecting to the database.

Artinya adalah, server event Page_Load akan dipanggil setelah sistem berhasil menghubungi database. Maksudnya, setiap kali halaman List berhasil menghubungi database, maka kode yang terdapat di dalam server event ini akan dijalankan.

Kalau melihat kode aslinya, maka tidak ada yang terlalu istimewa di sana:

// Page Load event
function Page_Load() {
	//echo "Page Load";
}

Kita hanya cukup menaruh kode PHP di dalam function tersebut. Biasanya, server event ini sering digunakan untuk memanipulasi tampilan sebuah Field di halaman List. Contoh, di halaman orderdetailslist.php, kita tidak ingin menampilkan field ProductID, maka kode di atas menjadi:

// Page Load event
function Page_Load() {
	//echo "Page Load";
	$this->ProductID->Visible = FALSE;
}

Cukup sederhana kode-nya bukan? Sekalipun kode-nya hanya begitu saja, maka hasilnya akan menyembunyikan semua field ProductID, baik yang terdapat di dalam Tabel pada halaman List tersebut, maupun di bagian Extended Search yang letaknya di bagian atas dari Tabel di halaman List tadi.

Sekarang mari kita membahas server event Page_DataRendering. Menurut menu Help di PHPMaker, server event ini memiliki penjelasan seperti berikut:

This event will be called after the header.php is included. You can use this event to add content at the top of page content.

Artinya, server event Page_DataRendering akan dipanggil setelah file header.php disertakan di halaman List. Anda dapat menggunakan event ini untuk menambahkan konten di bagian atas dari konten halaman (yang dalam hal ini datanya sering ditampilkan dalam bentuk tabel).

Kalau kita melihat kode standarnya, maka seperti ini:

// Page Data Rendering event
function Page_DataRendering(&$header) {
	// Example:
	//$header = "your header";
}

Nah, kode di server event Page_DataRendering menyertakan sebuah parameter berupa variabel $header. Jadi, jika kita ingin menampilkan data sesuai keinginan kita di bagian atas dari konten utama di halaman List, maka kita cukup mengisi nilai variabel tersebut, contoh:

// Page Data Rendering event
function Page_DataRendering(&$header) {
	// Example:
	$header = "Ini dataku, berada di bagian atas dari konten utama.";
}

Output dari server event Page_DataRendering akan menampilkan tulisan Ini dataku, berada di bagian atas dari konten utama. Inilah fungsi utama dari server event tersebut. Sampai di sini kita belum melihat keterkaitan antara kedua server event di atas (Page_Load dan Page_DataRendering).

Jika kita kembali lagi ke kode di server event Page_Load di contoh atas tadi, maka barulah ada keterkaitan antara keduanya. Dalam hal ini, kita ingin menyembunyikan Field tertentu di halaman List.

Seperti yang tadi sudah saya sebutkan, jika kita ingin menyembunyikan field tertentu yang terdapat dalam halaman List (tidak peduli apakah itu di bagian Tabel maupun di bagian Extended Search), maka kita hanya cukup menaruh kode seperti ini di server event Page_Load:

$this->ProductID->Visible = FALSE;

Pertanyaan selanjutnya adalah, lalu bagaimana jika seandainya kita hanya ingin menyembunyikan field ProductID tersebut di bagian Tabel, tapi tetap menampilkannya di bagian Extended Search? Ahaaa! Sudah tahu arahnya kemana? Betul! Jawabannya adalah, maka kita tidak perlu menaruh kode barusan di server event Page_Load, tapi cukup pindahkan kode barusan ke dalam server event Page_DataRendering, sehingga menjadi seperti ini:

// Page Data Rendering event
function Page_DataRendering(&$header) {
	$this->ProductID->Visible = FALSE;
}

sedangkan kode di server event Page_Load menjadi seperti semula:

// Page Load event
function Page_Load() {
	//echo "Page Load";
}

Jadi, kesimpulan dari artikel ini adalah, jika kita ingin menyembunyikan field tertentu di bagian Tabel pada halaman List, tapi menampilkan field tersebut di bagian Extended Search, maka gunakan server event Page_DataRendering, dan jangan menggunakan server event Page_Load untuk menyembunyikan field yang bertalian.

See? Betapa PHPMaker ternyata sudah mengantisipasi kemungkinan-kemungkinan yang sekecil dan sedetail ini. Betapa mudah dan fleksibelnya bukan? 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Page_DataRendering, Page_Load, PHPMaker Indonesia, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Mencegah Pengguna Menambah Baris Baru di Tabel Detail Aplikasi Web dari PHPMaker
Memilih Otomatis Bahasa untuk Pengguna di Aplikasi Web dari PHPMaker

Komentar

  1. Jausyankabir mengatakan

    Rab, 14 November 2018 pada 7:09 pm

    Kalau ingin me ReadOnly lebih daru satu field gimana caranya. Kalau satu. field :
    function Page Load () {
    $this->Nama_Anak->ReadOnly = True

    Terima kasih.

    Balas
    • Masino Sinaga mengatakan

      Kam, 29 November 2018 pada 1:47 pm

      Sudah dijawab di forum diskusi PHPMaker.

      Balas

Trackbacks

  1. Antara Page_Load dan Page_Render di Aplikasi Web dari PHPMaker – Masino Sinaga berkata:
    Sel, 9 Juni 2015 pukul 12:48 pm

    […] yang sudah dibahas di artikel terkait lainnya, kita sudah mengetahui perbedaan antara server event Page_Load dan Page_DataRendering, […]

    Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Pos-pos Terbaru

  • Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Alasan AlwaysUseEnglishUSLocale Sebaiknya Aktif di Masino Extensions untuk PHPMaker 2022
  • MasinoInputMask18 Extension, Autoformat Angka dengan Fitur Lebih Kaya di PHPMaker 2022
  • MasinoSignature18 Extension, Mudahnya Mengelola Tanda Tangan di PHPMaker 2022
  • MasinoFormWizard18 Extension, Mengubah Tampilan Multi-Page di PHPMaker 2022

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Thien Rudi pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Masino Sinaga pada Cara Menggunakan Login by session variables di Aplikasi Web dari PHPMaker 2021
  • Masino Sinaga pada Cara Menggunakan Login by session variables di Aplikasi Web dari PHPMaker 2021
  • Masino Sinaga pada Cara Menggunakan Login by session variables di Aplikasi Web dari PHPMaker 2021

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2021 | WordPress | Catat masuk | Kembali ke atas