發佈日期:
分類:
如何在PrestaShop 1.3.7下‧整合osTicket 1.6
一個PrestaShop網站,售賣1件產品已經夠神奇,現在還要整合1個票務系統(Ticketing system)來做客戶支援,那產品應該可以賣到很好的價錢吧。
01. 在osTicket下載相關程式,今次整合是使用1.6版本。
02. 解壓檔案,將osticket_1.6.0/upload資料夾內檔案,複製到prestashop資料夾下面。假設Prestashop是安裝在/var/www/prestashop資料夾,那osticket_1.6.0/upload資料夾位置,會覆製為/var/www/prestashop/osticket。
sudo cp -R osticket_1.6.0/upload /var/www/prestashop/osticket
03. 安裝及設定好osticket。
04. 整合工作開始,要求是使用票務系統時,必須確認為PrestaShop用戶,而且,務求將PrestaShop用戶資料,帶到osTicket上。
05. 編輯login.php檔案。此作用為使用osTicket檢查票務時,用戶必須已登入PrestaShop。
sudo gedit /var/www/prestashop/osticket/login.php
將: <?php 更改為: <style type="text/css"> .err_content { font-family: Arial, Helvetica, sans-serif; font-size: 11pt; color: #F00; } </style> <?php include('../config/config.inc.php'); include('../init.php'); if (!$cookie->isLogged()) { echo '<p class="err_content">Warning: you must login first before using our ticket system.</p>'; } else {
將: ?> 更改為: } ?>
06. 編輯open.php檔案。此作用為使用osTicket新增票務時,用戶必須已登入PrestaShop。
sudo gedit /var/www/prestashop/osticket/open.php
將: <?php 更改為: <style type="text/css"> .err_content { font-family: Arial, Helvetica, sans-serif; font-size: 11pt; color: #F00; } </style> <?php include('../config/config.inc.php'); include('../init.php'); if (!$cookie->isLogged()) { echo '<p class="err_content">Warning: you must login first before using our ticket system.</p>'; } else {
將: ?> 更改為: } ?>
07. 編輯ticket.php檔案。此作用為使用者正在檢查票務時,但卻同時登出PrestaShop時,便終止其檢查動作。
sudo gedit /var/www/prestashop/osticket/ticket.php
將: <?php 更改為: <style type="text/css"> .err_content { font-family: Arial, Helvetica, sans-serif; font-size: 11pt; color: #F00; } </style> <?php include('../config/config.inc.php'); include('../init.php'); if (!$cookie->isLogged()) { echo '<p class="err_content">Warning: you must login first before using our ticket system.</p>'; } else {
將: ?> 更改為: } ?>
08. 編輯index.php檔案。此作用為使用osTicket主頁時,用戶必須已登入PrestaShop。
sudo gedit /var/www/prestashop/osticket/index.php
將: <div id="index"> 更改為: <div id="index"> <?php include('../config/config.inc.php'); include('../init.php'); if (!$cookie->isLogged()) { echo "you must login first before using our ticket system"; } else { ?>
將: <?require(CLIENTINC_DIR.'footer.inc.php'); ?> 更改為: <?php } ?> <?require(CLIENTINC_DIR.'footer.inc.php'); ?>
09. 完成登入檢查,開始更改osTicket內容。編輯include/client/資料夾下的login.inc.php檔案。此作用為使用osTicket檢查票務時,把PrestaShop內的電郵地址,加到osTicket相應的欄位內。
sudo gedit /var/www/prestashop/osticket/include/client/login.inc.php
將: <td>E-Mail:</td><td><input type="text" name="lemail" size="25" value="<?=$e?>"></td> 更改為: <td>E-Mail:</td><td><input type="text" name="lemail" size="25" value="<?=$cookie->email?>"></td>
10. 編輯include/client/資料夾下的open.inc.php檔案。此作用為使用osTicket新增票務時,把PrestaShop內的用戶姓名及電郵地址,加到osTicket相應的欄位內。
sudo gedit /var/www/prestashop/osticket/include/client/open.inc.php
將: <input type="hidden" name="name" value="<?=$name?>"><?=$name?> <?}else {?> <input type="text" name="name" size="25" value="<?=$info['name']?>"> 更改為: <input type="hidden" name="name" value="<?=$cookie->customer_firstname.' '.$cookie->customer_lastname?>"><?=$cookie->customer_firstname.' '.$cookie->customer_lastname?> <?}else {?> <input type="text" name="name" size="25" value="<?=$cookie->customer_firstname.' '.$cookie->customer_lastname?>">
將: <input type="hidden" name="email" size="25" value="<?=$email?>"><?=$email?> <?}else {?> <input type="text" name="email" size="25" value="<?=$info['email']?>"> 更改為: <input type="hidden" name="email" size="25" value="<?=$cookie->email?>"><?=$cookie->email?> <?}else {?> <input type="text" name="email" size="25" value="<?=$cookie->email?>">
11. 編輯include/client/資料夾下的header.inc.php檔案。此作用會令到osTicket目錄內,取消家及登出選項。
sudo gedit /var/www/prestashop/osticket/include/client/header.inc.php
將: <li><a class="log_out" href="logout.php">Log Out</a></li> <li><a class="my_tickets" href="tickets.php">My Tickets</a></li> <?}else {?> <li><a class="ticket_status" href="tickets.php">Ticket Status</a></li> <?}?> <li><a class="new_ticket" href="open.php">New Ticket</a></li> <li><a class="home" href="index.php">Home</a></li> 更改為: <li><a class="my_tickets" href="tickets.php">My Tickets</a></li> <?}else {?> <li><a class="ticket_status" href="tickets.php">Ticket Status</a></li> <?}?> <li><a class="new_ticket" href="open.php">New Ticket</a></li>
12. 為PrestaShop版面Info block內,加入osTicket新增票務及檢查票務連結。
13. 登入PrestaShop管理員版面。在上面目錄選『Tools』、『CMS』、再選『Add new』填上相關資料。
14. 在『Page content』一欄,選擇『HTML圖示』,在『HTML Source Editor』對話匣貼上以下內容,完成後按『Update』,再按最下面的『Save』。
<h2>Ticket system</h2> <h3>Get help from us</h3> <p><a class="thickbox" title="Open a new ticket" href="osticket/open.php?keepThis=true& TB_iframe=true&height=500&width=820">Open a new ticket</a></p> <p><a class="thickbox" title="View ticket status" href="osticket/login.php?keepThis=true& TB_iframe=true&height=500&width=820">View ticket status</a></p>
15. 在上面目錄選『Modules』,再在『Blocks』中找『Info block v1.1』,安裝後再選『Configure』。
16. 將『Ticketing system』一欄打勾,再按『Update』。
17. PrestaShop本身已支援thickbox,但找很久也找不到檔案放在甚麼位置,固另外安裝一次,以用於osTicket上面。下載最下面的thickbox.zip檔案,解壓後放在/var/www/prestashop/thickbox資料夾內。
sudo unzip thickbox.zip -x /var/www/prestashop/
18. 編輯/var/www/prestashop/cms.php檔案。在檔案內容最上面加上以下內容。
sudo gedit /var/www/prestashop/cms.php
<script type="text/javascript" src="thickbox/jquery.js"></script> <script type="text/javascript" src="thickbox/thickbox.js"></script> <link rel="stylesheet" href="thickbox/thickbox.css" type="text/css" media="screen" />
19. 用瀏覽器打開PrestaShop網站,在『INFORMATION』位置會找到『Ticketing system』。
20. 登入Prestashop,按『Open a new ticket』或『View ticket status』會打開thickbox,再顯示osTicket內容。
發佈留言