Drupal 7 mendukung penggunaan entities secara native (sudah dimasukkan dalam core). Untuk penjelasan tentang entities silahkan berkunjung kesini atau kesini.
Pada artikel ini, saya akan menjelaskan sedikit tentang penggunaan entities, bundle, properties dan fields. Penjelasan dititik beratkan pada CRUD (Create, Read, Update, dan Delete) dalam entities.
Kalau dalam OOP anggap saja entity itu base class, bundle adalah extended class, properties & fields adalah class member. Sebelum melangkah lebih lanjut, pastikan modul Entity Construction Kit (eck) sudah terinstall termasuk dependensi-nya.
Eck dapat diakses melalui Structure -> Entity Type. Halaman ini akan menampilkan semua entity yang sudah dibuat, apabila belum ada, silahkan membuat entity terlebih dahulu melalui link yang tersedia. Tampilan form untuk membuat entity baru seperti berikut:
Pada entity dapat juga ditambahkan beberapa properti baru, seperti dibawah ini, saya menambahkan properti Jumlah roda:
Pada entity type Sepeda ini, saya tambahkan bundle baru yaitu sepeda berpenggerak, seperti pada gambar berikut:
Untuk masing-masing bundle, kita dapat menambahkan field yang berbeda. Karena pada hakikatnya, antar bundle itu masih ada kemiripan, tetapi ada juga pembedanya. Dalam contoh ini, saya menambahkan field Shifting Lever pada bundle sepeda, dan menambahkan Tipe penggerak pada bundle sepeda berpenggerak, seperti terlihat pada gambar berikut.
Okay, konfigurasi selesai, sekarang bagaimana memasukkan datanya? Gampang, klik saja tombil Add “Bundle name” dalam Entity List, maka akan ditampilkan form untuk menambahkan data, seperti berikut:
Tampikan untuk edit data juga akan mirip gambar diatas. Bagaimana tampilan list datanya? By default, tampilan list data di ECK kurang informatif, seperti terlihat pada gambar berikut:
Tetapi jangan khawatir, drupal punya solusinya untuk menampilkan list data dengan lebih bagus, salah satunya menggunakan modul Views. Contoh tampilan data menggunakan views sebagai berikut (list dari gabungan dua bundle):
Untuk cara menggunakan views, tidak akan saya bahas disini. Mungkin lain waktu 🙂
Mudah sekali khan? Bahkan tanpa coding sama sekali untuk membuat CRUD. Untuk pengembangan lebih lanjut, silahkan dieksplore sendiri (contohnya untuk: field validation, reporting, export data, relasi antar entity).