Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Menyembunyikan Tombol Add di Halaman Detail dari PHPMaker
Mudahnya Menyembunyikan Tombol Master/Detail di Halaman Master dari PHPMaker
Perubahan System Functions untuk Security di Aplikasi Web dari PHPMaker

Mudahnya Menyembunyikan Tombol Add di Halaman Detail dari PHPMaker

Kam, 20 November 2014 oleh Masino Sinaga 14 Komentar

Sebagai Web Developer, Anda pasti pernah atau bahkan sering menangani pembuatan halaman Master/Detail di Aplikasi Web yang Anda bangun. Baik itu untuk mengelola (tambah atau ubah) data, maupun untuk menampilkan atau membatasi elemen yang terkait dengan fungsi-fungsi tadi. Semuanya pasti saling terkait erat, dan fungsi-fungsi tadi harus bisa terintegrasi dalam fitur Master/Detail.

Beruntung sekalilah Anda jika menggunakan PHPMaker, karena Anda dapat mengimplementasikannya dengan sangat mudah dan cepat. PHPMaker memberikan banyak sekali kemudahan kepada Web Developer untuk membuat fungsi-fungsi yang terkait dengan Master/Detail.

Di antaranya, satu tabel master dapat mengelola dan juga menampilkan beberapa (lebih dari satu) tabel detail sekaligus, seperti pada artikel Seberapa Efektif Anda Mengelola Data Master/Detail dan Master/Multi-Detail?. Juga betapa mudahnya mengambil nilai dari bagian Master untuk ditampilkan pada bagian Detail pada sebuah halaman Master/Detail seperti pada artikel Mengambil Data Master untuk Ditampilkan di Tabel Detail pada Halaman Master/Detail.

Pada artikel ini, kita akan membahas satu lagi kemudahan yang diberikan oleh PHPMaker kepada Web Developer ketika mengimplementasikan Master/Detail di Aplikasi Web. Lebih tepatnya, kita akan membahas bagaimana mudahnya menyembunyikan elemen atau fungsi tertentu di halaman Detail jika ketika ditampilkan tidak bersamaan dengan halaman Master-nya.

Seperti yang kita ketahui, tidak semua fungsi di halaman Detail dapat digunakan oleh Pengguna jika halaman tersebut tidak sedang ditampilkan bersama dengan halaman Master-nya.

Katakanlah pada menu/halaman orderdetails yang merupakan Detail dari halaman orders (Master) sedang diakses Pengguna, maka fungsi atau tombol/link Add di halaman orderdetails tadi tidak boleh dilihat/digunakan oleh Pengguna. Harus disembunyikan.

Sebaliknya, jika kedua halaman tadi sedang menyatu dalam mode Master/Detail antara orders sebagai Master dan orderdetails sebagai Detail sedang diakses oleh Pengguna, maka barulah fungsi atau tombol/link Add di bagian Detail tadi bisa kelihatan sehingga bisa digunakan oleh Pengguna.

Bagi Web Developer yang pernah atau ingin mengimplementasikan business-logic seperti ini pasti sudah paham dengan apa yang saya maksud di atas tadi. Tapi bagi Anda Web Developer pemula yang baru mengetahui hal ini, maka perlu saya beritahukan alasan mengapa fitur tadi sering dibutuhkan. Pertama, untuk menuntun Pengguna dalam mengelola (tambah atau ubah) data Detail agar selalu mengacu kepada data Master yang sudah ada. Kedua, untuk mencegah Pengguna berpikir terlalu dalam ketika mengelola data yang terkait dengan Master/Detail. Dengan kata lain, kedua alasan itu semata-mata untuk mencegah Pengguna menginput data Master yang tidak valid di bagian Detail.

Nah, pertanyaannya adalah, bagaimana cara kita untuk menyembunyikan tombol Add di bagian atau halaman Detail ketika tidak sedang terkait dengan data Master-nya? Jangan khawatir! Solusinya sangatlah mudah, cepat, dan lagi-lagi menyenangkan! Ternyata PHPMaker sudah menuntun Web Developer untuk mengatasi hal ini melalui server event yang bernama Page_Render. Anda cukup hanya menaruh kode ini ke dalam server event tadi, sehingga kode selengkapnya adalah seperti ini:

// Page Render event
function Page_Render() {
	//echo "Page Render";
	$is_master_table = CurrentMasterTable();
	if(@$is_master_table == NULL){
		$this->OtherOptions["addedit"]->Items["add"]->Visible = FALSE;
	}	
}

Perhatikanlah kode tersebut. PHPMaker sudah menyediakan sebuah fungsi global bernama CurrentMasterTable yang akan mengembalikan nilai NULL jika tabel master tidak berhasil dideteksi di halaman atau bagian Detail. Jadi, kita menaruh kode tadi di server event Page_Render pada halaman List milik tabel Detail.

Sistem akan memeriksa jika fungsi global tadi mengembalikan NULL, maka kita cukup mengeset property Visible milik item add yang berada di bawah grup addedit dari property OtherOptions menjadi FALSE.

Setelah Anda men-generate ulang file script dengan PHPMaker, cobalah untuk mengakses halaman Detail, maka seharusnya fungsi tombol atau link Add yang berada di bagian atas dan atau bawah tabel di halaman List menjadi disembunyikan. Lalu, cobalah juga untuk mengakses halaman Detail tersebut dari mode Master/Detail, maka seharusnya fungsi tombol atau link Add tadi menjadi kelihatan kembali.

Wow, betapa mudah sekali ya? PHPMaker memang keren abiiiizzzz! 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:Master/Detail, OtherOptions, Page_Render, PHPMaker Indonesia, Server Events, Tutorial PHPMaker, Visible

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, ilovephpmaker.com, dan phpmakerprojects.com.

Mudahnya Menyembunyikan Tombol Master/Detail di Halaman Master dari PHPMaker
Perubahan System Functions untuk Security di Aplikasi Web dari PHPMaker

Komentar

  1. Hamsah mengatakan

    Kam, 20 November 2014 pada 5:14 pm

    Berbicara soal tombol add apakah ada cara agar tombol add yang berada di pojok kiri bawah kolom bisa dipindahkan ke bagian atas atau area lainnya soalnya selama ini tombol add jika saya menggunakan 20 record per page tidak akan efisien karena pengguna harus menscroll ke bawah halaman untuk meng-add record baru….
    oh iya satu lagu master mungkin kedengarannya aneh tapi apakah mungkin saya menggunakan text hyperlink saja daripada menggunakan tombol view pada list page ( seperti phpmaker sebelum menggunakan bootstrap, view hanya berupa text hyperlink bukan tombol)

    Terima Kasih sebelumnya

    Balas
    • Masino Sinaga mengatakan

      Kam, 20 November 2014 pada 5:25 pm

      Tentu bisa. Tinggal aktifkan saja pengaturan Paging section at top dari menu PHP -> Page Options (Global) di PHPMaker.

      Penggunaan text hyperlink bisa saja daripada menggunakan style tombol, tapi icon Bootstrap-nya untuk fungsi Add, Edit, View, Search, dsb tetap akan diikutkan. Pastikan Anda tidak mengaktifkan pengaturan Use buttons as links dari lokasi menu yang sama di atas tadi.

      Balas
  2. Hamsah mengatakan

    Jum, 21 November 2014 pada 7:37 am

    oh iya maksud saya icon bootstrapnya di ganti hyperlink… tapi gpp… no biggy.. thanks..
    dan terimakasih paging sectionnya dah nemu… emang top… master masino…
    Terima kasih sekali lagi…

    Balas
    • Masino Sinaga mengatakan

      Jum, 21 November 2014 pada 10:34 am

      Sama-sama. 🙂

      Balas
  3. hendra mengatakan

    Sen, 27 Juli 2015 pada 11:24 am

    Di ORDERDETIL, saya menyediakan tombol INLINE EDIT.
    Saya mau itu visible hanya jika field status di table MASTER adalah OPEN.
    Jika field status berisi CLOSE, maka tombol INLINE EDIT invisible.
    Saya bingung membaca isi field dari table MASTER, padahal page_rendernya di detil

    Balas
    • hendra mengatakan

      Sen, 27 Juli 2015 pada 1:40 pm

      sudah nemu dari posting “Mengambil Data Master untuk Ditampilkan di Tabel Detail pada Halaman Master/Detail”
      saya ingin menyembunyikan Inline edit table detil dengan code berikut, kok error ya 🙂
      if ($GLOBALS[‘PreSOMst’]->cStatus->CurrentValue==”R”)
      $this->OtherOptions[“addedit”]->Items[“edit”]->Visible = FALSE;
      Apa yang salah ?

      Balas
      • hendra mengatakan

        Sen, 27 Juli 2015 pada 3:43 pm

        saya coding di ListOptions_Rendered
        $this->ListOptions->Items[“edit”]->Body = “”;
        sudah bisa, apakah solusi ini benar

        Balas
        • hendra mengatakan

          Sen, 27 Juli 2015 pada 4:42 pm

          atau bisa pakai ini ya ? Visible =FALSE;

          Balas
          • Masino Sinaga mengatakan

            Sen, 27 Juli 2015 pada 7:37 pm

            Hehe, nanya sendiri, langsung dijawab sendiri. 😉

            Ya dicoba saja mas… kalau bisa ya berarti boleh memakai cara di atas tadi, hehe… 🙂

            Balas
            • hendra mengatakan

              Sel, 28 Juli 2015 pada 8:12 am

              h h h…Saat dapat masalah, tanya masternya, sambil saya cari solusinya sendiri.
              Akhirnya ketemu, jadinya ya tanya & jawab sendiri 🙂

              Balas
              • Masino Sinaga mengatakan

                Sel, 28 Juli 2015 pada 9:27 pm

                Kalau begitu, lain kali berusaha sendiri dulu sebelum ingin langsung bertanya.

                Kan pengalaman sudah membuktikan, jika mencoba dulu sendiri biasanya akan berhasil. 🙂

                Balas
  4. Charly mengatakan

    Rab, 28 Oktober 2020 pada 11:08 am

    Mat Siang Bang Masino,
    Mohon bantuannya, jika ingin menghilangkan tombol add tapi berdasarkan data pada List Tabel. Jika belum ada data, tombol Add akan muncul, tapi pada saat sudah ada data di List Tabel, otomatis tombol Add nya akan hilang.

    Balas
    • Masino Sinaga mengatakan

      Rab, 28 Oktober 2020 pada 12:59 pm

      Selamat siang Charly. Boleh tahu pakai PHPMaker versi berapa?

      Balas
    • Masino Sinaga mengatakan

      Rab, 28 Oktober 2020 pada 1:13 pm

      Artikel ini sepertinya bisa membantu: Mudahnya Menyembunyikan Tombol Tambah di Halaman List dari PHPMaker.

      Anda tinggal menambahkan pemeriksaan kondisi apakah di table tersebut sudah ada record di dalamnya dengan menggunakan global function yang bernama ExecuteScalar(). Info lebih lanjut, silahkan lihat sub-topik Some Global Functions di bawah topik Server Events and Client Scripts.

      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

  • Mudahnya Mengubah Nilai Delay Auto Hide Success Message di PHPMaker 2025
  • Mudahnya Berpindah Layout dari Table ke Cards di Halaman List lewat PHPMaker 2025
  • Jangan Lupa Pakai AdjustSql Saat Insert atau Update Data Lewat ExecuteStatement
  • File-File yang Wajib Diperhatikan Setelah Menambah Item User Values di PHPMaker 2025
  • Begini Cara Memuat Tables dari Database Secara Dinamis di PHPMaker 2025

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Mudahnya Menyesuaikan Timezone di Calendar Report pada PHPMaker 2023
  • Nano pada Mudahnya Menyesuaikan Timezone di Calendar Report pada PHPMaker 2023
  • Charly pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Charly pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Masino Sinaga pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. 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 - 2025 | WordPress | Catat masuk | Kembali ke atas