2012-01-11 2 views
1

저는 2 년 동안 즉시 osTicket을 사용해 왔으며 멋지게 작동합니다. 저는 현재 제가 지원하는 진료소 중 일부에이 시스템을 사용하고 있으며 사용자가있는 진료소의 이름을 입력해야하는 추가 필드를 추가했습니다.osTicket 변수 추가

도 작동하지만 새 직원이 있음을 알리는 자동 이메일에 진료소 이름을 가져 오는 방법을 알 수 없습니다. 나는 새로운 기본 varialbe를 추가 할 필요가 있다고 생각하지만, 이것을 어떻게하는지 모른다. 어떤 아이디어?

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

는 사용자 정의 변수를 활용할 수있는 템플릿 있나요 :

답변

0

나는 라인 class.msgtpl.php 32 (\ \ 포함 class.msgtpl.php)이 진술을 찾았나요? 그렇지 않은 경우에는 간단한 preg_replace 일 수 있으므로 직접 작성할 수 있습니다. include/class.ticket.php에서

5

, 라인 (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