Pernahkah Anda ingin menambahkan sebuah tab baru di sebelah tab Post Reply pada Panel Staf di Sistem osTicket yang Anda gunakan? Berikut ini solusinya. Ada dua kemungkinan mengapa Anda ingin menambahkan tab ini. Pertama, Anda ingin menampilkan sesuatu yang bersifat read-only atau hanya bisa dibaca saja, seperti informasi statis. Atau, kemungkinan kedua, Anda ingin menambahkan sebuah form di dalam tab baru tadi. Kita akan membahas kedua kemungkinan tersebut. Modifikasi ini hanya berlaku untuk sisi staf.
Buka file \include\staff\viewticket.inc.phpAnda, dan cari kode ini:
342 343 344 345 346 347 348 349 350 351 | <p> <div style="margin-left: 50px; margin-top: 30px; margin-bottom: 10px;border: 0px;"> <input class="button" type='submit' value='Post Reply' /> <input class="button" type='reset' value='Reset' /> <input class="button" type='button' value='Cancel' onClick="history.go(-1)" /> </div> </p> </form> </p> </div> |
setelah baris terakhir dari kode tadi, tambahkan kode berikut:
352 353 354 355 356 357 | <div id="youractionhere" class="tabbertab" align="left"> <h2>Your New Tab</h2> <p> This will only demonstrate how you can add your own new tab in viewticket page. </p> </div> |
Tergantung dari tujuan tab baru tadi. Jika Anda ingin hanya menampilkan informasi yang hanya bisa dibaca, maka cukup gunakan teknik yang sudah ditampilkan di kode sebelumnya. Itu saja, dan Anda selesai pada bagian ini! Anda tidak harus melakukan apapun yang dijelaskan pada paragraf berikutnya.
Namun, jika Anda ingin tab baru ini memiliki form di dalamnya, sebagai contoh, Anda ingin memproses 2 field baru, maka kita harus membuat sebuah form dan meletakkannya di dalam tab baru tadi. Cukup ganti kode berikut yang kita ambil dari sebagian kode di atas:
354 355 356 | <p> This will only demonstrate how you can add your own new tab in viewticket page. </p> |
menjadi:
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | <p>
<form action="tickets.php?id=<?=$id?>#youractionhere" name="youractionhere" class="inline" method="post" enctype="multipart/form-data">
<input type="hidden" name="ticket_id" value="<?=$id?>">
<input type="hidden" name="a" value="youractionhere">
<p>
<div>
<label for="title">Field One:</label>
<input type="text" name="field-one" id="field-one" value="<?=$info['field-one']?>" size=30px />
</select><font class="error">* <?=$errors['field-one']?></font>
</div>
<div style="margin-top: 3px;">
<label for="field-two" valign="top">Field Two:</label>
<font class="error">* <?=$errors['field-two']?></font></label><br/>
<textarea name="field-two" id="field-two" cols="80" rows="7" wrap="soft" style="width:90%"><?=$info['field-two']?></textarea>
</div>
<div align="left" style="margin-left: 50px;margin-top: 10px; margin-bottom: 10px;border: 0px;">
<input class="button" type='submit' value='Submit' />
<input class="button" type='reset' value='Reset' />
<input class="button" type='button' value='Cancel' onClick="history.go(-1)" />
</div>
</p>
</form>
</p> |
Setelah itu, kita harus menangkap nilai yang diambil dari form tadi ke dalam file \scp\tickets.php. Cari kode berikut dalam file tersebut:
106 107 108 109 | }else{ $errors['err']=$errors['err']?$errors['err']:'Unable to post the response.'; } break; |
lalu setelah baris terakhir dari kode di atas, tambahkan kode berikut:
110 111 112 113 114 115 116 117 118 119 120 | case 'youractionhere': $fields=array(); $fields['field-one'] = array('type'=>'text', 'required'=>1, 'error'=>'Field one required'); $fields['field-two'] = array('type'=>'text', 'required'=>1, 'error'=>'Field two required'); $params = new Validator($fields); if(!$params->validate($_POST)){ $errors=array_merge($errors,$params->errors()); } // Proceed here, what do you want it to do for those two fields above? // Insert it or update the existing value to database? It's up to you, right? break; |
Secara umum, itu saja yang harus Anda lakukan. Jika Anda ingin menambahkan fungsi atau algoritma yang Anda tentukan sendiri, Anda dapat mencontoh teknik modifikasi yang sudah banyak saya buat di blog ini. Selamat mencoba, semoga berhasil!

Komentar Terakhir