Menambah field baru pada registration Joomla bisa dianggep susah juga bisa dianggep gampang, buktinya susah sampe seharian saya nyari2 informasi ini, akhirnya ketemu disini. Tapi dianggep gampang klo uda nemu caranya, gak sampe 1 jam uda kelar.
Kasusnya waktu ada client minta ditambahin satu field di form pendaftaran user joomla sehingga ketika user mendaftar mereka selain memasukkan username, password, dan email juga memasukan field baru itu (waktu itu NIP – Nomor Induk Pegawai)
Yang perlu diperhatikan, disini cara untuk menambah field baru pada form registrasi, bukan untuk di user profile (mulai joomla 1.7 ada plugin user profile untuk menambah keterangan mengenai user), tapi karena sesuatu hal yang saya butuhkan adalah penambahan field di form registrasi.
Langkah2nya sbb:
1. Buka database joomla anda, dan tambahkan kolom baru di table #_users (tanda # diganti dengan setingan prefix di masing2 tempat anda), utk kasus saya sendiri saya menambahkan kolom NIP. (Baca: Menambah Kolom / Field pada Database Mysql)
2. Buka file webroot/administrator/components/com_users/models/forms/user.xml dan tambahkan kode berikut setelah tanda <fieldset name=”user_details”>, kasus saya sendiri saya letakkan setelah bagian username, sehingga user akan mengisi NIP setelah mengisi username yang diinginkan
<field name=”NIP” type=”text”
description=”Nomor Induk Pegawai”
label=”NIP”
required=”true”
size=”30″
/>
3. Buka file webroot/libraries/joomla/user/user.php dan tambahkan kode berikut :
public $NIP= null;
4. Untuk menambah field di form registration pada halaman muka website tambahkan kode pada langkah ke-2 di dalam file :
– webroot/components/com_users/models/forms/registration.xml
– webroot/components/com_users/models/forms/profile.xml
5. Jika ingin menambah field di halaman administrator silahkan tambahkan code ini di file webroot/administrator/components/com_users/views/users/tmpl/default.php (tapi yang ini blm saya coba, blm merasa butuh soalnya wkwkwkwk)
Column header:
<th width=”10%”> <?php echo JHtml::_(‘grid.sort’, ‘Field more 1’, ‘a.field_more_1’, $listDirn, $listOrder); ?></th>
Column value:
<td><?php echo (int) $item->field_more_1; ?></td>
Dan ini contoh skrinsutnya
Semoga sukses kawan… 🙂
makasih mas infonya, saya benar – benar terbantu sekali 😀
sama2 mas, saya jg terbantu sama penulis aslinya, jd pgn share ke yg lain jg 🙂
sangat bermanfaat