如何用你自己的.pm和.dtl替换OTRS自身的.pm和dtl文件?

与 OTRS 相关的各种安装配置等问题

Moderator: never

micshi
OTRS wizard
Posts: 191
Joined: 05 Jul 2011, 16:10
OTRS Version?: 3.2.2
Real Name: Micshi
Location: Beijing
Contact:

如何用你自己的.pm和.dtl替换OTRS自身的.pm和dtl文件?

Postby micshi » 09 Dec 2012, 17:37

你可能需要修改OTRS本身的.pm和dtl文件,以便实现特定的功能。
例如,当你希望OTRS仪表盘中显示工单的锁状态、队列和所有者时,你就需要对下面的两个文件进行修改,以便先从数据库中读取工单的锁状态、队列和所有者,然后再将它们传递给dtl文件,以便展现在仪盘板上。
/opt/otrs/Kernel/Output/HTML/DashboardTicketGeneric.pm
/opt/otrs/Kernel/Output/HTML/Standard/AgentDashboardTicketGeneric.dtl

但直接修改OTRS自身的文件会带来以下问题:
1. 一旦版本升级后,你所修改过的.pm和.dtl文件就会被覆盖掉;
2. 升级后,你还需要在升级文件的基础上重新进行修改,但你很难能记得住这些文件的名称和路径。

为此,OTRS的新版(3.2.0.beta1以上),提供了一个新功能。
利用此功能,你不应该再直接修改任何OTRS自身的.pm和.dtl文件了,而是将你打算要修改的文件先复制拷贝到/opt/otrs/Custom所对应的目录,然后对复制的文件进行修改。

还是以下面两个文件为例:(假设你要对这两个文件进行修改,以便实现新的功能)
/opt/otrs/Kernel/Output/HTML/DashboardTicketGeneric.pm
/opt/otrs/Kernel/Output/HTML/Standard/AgentDashboardTicketGeneric.dtl

1. 首先,创建Custom目录,并在其下复制OTRS自身的目录结构
cd /opt/otrs
mkdir Custom

cd Custom
mkdir Kernel

cd Kernel
mkdir Output

cd Output
mkdir HTML

cd HTML
mkdir Standard

cp /opt/otrs/Kernel/Output/HTML/DashboardTicketGeneric.pm /opt/otrs/Custom/Kernel/Output/HTML/DashboardTicketGeneric.pm
cp /opt/otrs/Kernel/Output/HTML/Standard/AgentDashboardTicketGeneric.dtl /opt/otrs/Custom/Kernel/Output/HTML/Standard/AgentDashboardTicketGeneric.dtl

2. 重置Custom目录权限
cd /opt/otrs
./otrs.SetPermissions.pl --otrs-user=otrs --otrs-group=otrs --web-user=www-data --web-group=www-data /opt/otrs

3. 修改Custom目录下的.pm和.dtl文件
cd /opt/otrs/Custom/
vi Kernel/Output/HTML/DashboardTicketGeneric.pm
vi Kernel/Output/HTML/Standard/AgentDashboardTicketGeneric.dtl

4. 建立软链接,以便让OTRS用Custom目录上的.dtl和.pm文件替换OTRS自身的.dtl和.pm文件
cd /opt
module-tools/link.pl otrs/Custom otrs/

这样,所有被修改过的.pm和dtl文件都存放在/opt/otrs/Custom目录下,即使系统升级后,你也能容易地找到那些你所修改过的文件,因为它们都在/opt/otrs/Custom目录下。

很有条理,再也乱不了,不是吗?

micshi
OTRS 3.2.2, ITSM 3.2.2, SystemMonitor
Ubuntu, Apache2, MySQL 5
My OTRS Blog
OTRS Basic Concept Training
OTRS Demo Instance

never
Moderator
Posts: 32
Joined: 20 Apr 2010, 11:25
OTRS Version?: 2.4.15
Location: HongKong
Contact:

Re: 如何用你自己的.pm和.dtl替换OTRS自身的.pm和dtl文件?

Postby never » 10 Dec 2012, 17:21

哈,我就是因为这功能,才打算把目前的 2.4.x 升级,中间的 3.0/3.1 都没啥特色,除了 ajax 之外。
Debian 5, OTRS 2.4.15 / 3.2.x in testing
HP DL360G5: Intel Xeon 5110 1.6G *2, 2G DDR, 72G SAS RAID-0
中文 QQ 群号 157191248


Return to “安装和使用”

Who is online

Users browsing this forum: No registered users and 1 guest

cron