返回列表 回复 发帖

vtiger CRM 5.1.0-val2 调试记录

vtiger CRM 5.1.0-val2  是vtiger CRM的最新测试版本,因为正在研究他们的5.0.4版,所以,新的测试版发布以后很快就下载来玩一玩,下面是我的调试记录,以备正试版出来后的正式安装:

1、汉化。vtiger CRM 5.1.0-val2针对于5.0.4作了比较大的调整,模块有所增加,各模块内容也有增加,我在原汉化文件的基础上作了修改,但大部分新增内容还没有做汉化,这次以调试为主,后面有空再汉化。汉化时一定要注意每一个文件一定要另存为无BOM的UTF-8格式,这项工作做好了后面会省事的多。

2、增加中文支持。根目录下config.inc.php的修改:

        A、$languages = Array(‘zh_cn’=>’中文’,'en_us’=>’US English’,);

        B、$default_charset = ‘UTF-8′;

        C、$default_language = ‘zh_cn’;

3、图表中文字体支持。Image\Canvas\Fonts目录下的fontmap.txt里在最上面增加如下内容:

        msyh,msyh.ttf
        msyhbd,msyhbd.ttf

        在Image\Canvas\Fonts目录下增加MSYH.TTF、MSYHBD.TTF字体文件

        修改include\utils\GraphUntils.php
                第42行: case ‘cn_zh’:   改为 case ‘zh_cn’:

                第23行改为: DEFINE(“FF_SIMSUN”,’MSYH’);

4、真正的在首页支持中文页面,还要做一个工作,由于是测试版,官方只是在首页显示英文,这里需要修改一个文件\modules\Users里的 Login.php

        第161行内容解除注释,第162行加上注释,改成如下内容:

        <?php echo get_select_options_with_id(get_languages(), $display_language) ?>
        <?/*php echo get_select_options_with_id(Vtiger_Language::getAll(), $display_language) */ ?>

5、导出EXECL文件产生乱码问题:\modules\Reports\CreateXL.php中修改两个地方:

        ”$worksheet->write(0, $count, $key , $header);“改为:“$worksheet->write(0, $count, iconv(“UTF-8″, “gb2312″, $key) , $header);”;

        大约是61行的那句改为:“$worksheet->write($key+1, $dcount, iconv(“UTF-8″, “gb2312″, $value));”
凯文 - 雅盛工作室
以VtigerCRM來說問題大致上有以下幾點

1. WebMail無法正確顯示中文

2. 圖表中文字無法正確顯示

3. 各模組轉存pdf時的中文亂碼或無法顯示

問題大致就以上三點,再來還有修改pdf的layout來符合自己的需求

接下來就一步一步來修正吧!

Q1:

WebMail無法正確顯示中文

A1:

修改

1

       

vtigercrm/modules/Webmails/functions.php

在第一行新增

1

       

$charset = 'utf-8';

註解以下此行

1

       

global $charset;

完成

Q2:

圖表中文字無法正確顯示

A2:

先下載螢火飛字型

http://www.study-area.org/apt/fi ... lysung-1.3.0.tar.gz

解壓縮後將 fireflysung.ttf 上傳至 vtigercrm/Image/Canvas/Fonts/ 底下

並在 vtigercrm/Image/Canvas/Fonts/fontmap.txt 中新增

1

       

fireflysung,fireflysung.ttf

修改 include/utils/GraphUtils.php 第27行為

1

       

DEFINE("FF_FONT1",'fireflysung');

完成

Q3:

各模組轉存pdf時的中文亂碼或無法顯示

A3:

先下載 Tcpdf

http://sourceforge.net/project/showfiles.php?group_id=128076

我是在WINDOWS下做轉檔動作的,轉字型程式位置

tcpdf_3_0_004\tcpdf\fonts\ttf2ufm\ttf2ufm.exe

在命令提示字元底下執行

1

       

$ ttf2ufm.exe -a -F fireflysung.ttf

將產生的檔案上傳至

/var/www/html/vtigercrm/include/tcpdf/fonts/ttf2ufm

並在伺服器上執行以下命令

1
2
3

       

cd /var/www/html/vtigercrm/include/tcpdf/fonts/ttf2ufm

php -q makefontuni.php fireflysung.ttf fireflysung.ufm

複製.php, .z and ctg.z 到

/var/www/html/vtigercrm/include/tcpdf/fonts/

修改 vtigercrm/include/tcpdf 底下的 pdf.php tcpdf.php

將 $this->SetFont 後面的字型名稱改為 fireflysung

到此已經可以轉出中文了,除了檔案很大這個問題,我沒辦法解決

如果有發現字出不來的,基本上應該是中文翻譯檔的問題

也就是沒有相對應的中文翻譯詞彙!

以 Quotes module 為例子,他的語言檔放在

vtigercrm/modules/Quotes/language/zh-tw.lang.php

然後我們看 vtigercrm/modules/Quotes/CreatePDF.php

以185行為例

$product_line[$j]["Product Name"] = $list_price[$i];

我們需要在 zh-tw.lang.php 中新增一行如下

1

       

'Product Name' =&gt; '產品名稱',

中文記得要用utf-8編碼喔!

完成

最後如果想要修改pdf的layout的話,以下有一些我修改的過程給大家參考

修改BODY圓角

vtigercrm/include/tcpdf/pdf.php

第179行

1

       

$this-&gt;RoundedRect($r1, $y1, ($r2 - $r1), $y2, 1(2.5,4.5), 'D'); //調整後面的數值

檔案位置

header

modules/Quotes/pdf_templates/header.php

body

include/tcpdf/templates/body.php

footer

modules/Quotes/pdf_templates/footer.php

關閉最後一頁(endpage)

vtigercrm/modules/Quotes/CreatePDF.php

第25行

1

       

$endpage="0"; //1開 0關
凯文 - 雅盛工作室
返回列表