Bagaimana Menambahkan Tab Baru Setelah Tab Post Reply di Panel Staf osTicket v1.6 RC5

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">*&nbsp;<?=$errors['field-one']?></font>
                        </div>
                        <div style="margin-top: 3px;">
                            <label for="field-two" valign="top">Field Two:</label>
                                <font class="error">*&nbsp;<?=$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!

Share

815 kali dibacaCetak Artikel Ini Cetak Artikel Ini

Utarakan pikiran Anda

*


*