2012-01-11 80 views
1

我已經使用osTicket開箱即用幾年了,它的工作原理非常奇妙。我現在將這個系統用於我支持的幾個醫療診所,並增加了一個額外的領域,要求用戶輸入他們所在診所的名稱。osTicket添加變量

這也正在工作,但我無法弄清楚如何讓自動電子郵件中包含的診所名稱告訴我的員工有一個新的機票打開。我想我需要添加一個新的基本變量,但不知道如何做到這一點?有任何想法嗎?

回答

0

我沒找到線class.msgtpl.php的32(\ \包括class.msgtpl.php)說明這一點:

$sql='SELECT * FROM '.EMAIL_TEMPLATE_TABLE.' WHERE tpl_id='.db_input($id); 

是否有,允許您利用自定義變量模板什麼?如果沒有,你可以自己寫,因爲它可能只是一個簡單的preg_replace。

5

include/class.ticket.php,線422

他們都在這個函數。相應地添加到$search & $replace

function replaceTemplateVars($text){ 
    global $cfg; 

    $dept = $this->getDept(); 
    $staff= $this->getStaff(); 

    $search = array('/%id/','/%ticket/','/%email/','/%name/','/%subject/','/%topic/','/%phone/','/%status/','/%priority/', 
        '/%dept/','/%assigned_staff/','/%createdate/','/%duedate/','/%closedate/','/%url/'); 
    $replace = array($this->getId(), 
        $this->getExtId(), 
        $this->getEmail(), 
        $this->getName(), 
        $this->getSubject(), 
        $this->getHelpTopic(), 
        $this->getPhoneNumber(), 
        $this->getStatus(), 
        $this->getPriority(), 
        ($dept?$dept->getName():''), 
        ($staff?$staff->getName():''), 
        Format::db_daydatetime($this->getCreateDate()), 
        Format::db_daydatetime($this->getDueDate()), 
        Format::db_daydatetime($this->getCloseDate()), 
        $cfg->getBaseUrl()); 
    return preg_replace($search,$replace,$text); 
} 
+0

歡迎來到stackoverflow!當用代碼回答問題時,考慮增加一些更多細節(特別是因爲這些代碼似乎是從源代碼中複製而不是改進以回答問題)。 – Gijs 2012-11-15 12:33:16