You are on page 1of 11

TÀI LIỆU HƯỚNG DẪN VIẾT MODULE CHO SUGARCRM

Tài liệu kỹ thuật 04/2012

1

Lịch sử chỉnh sửa

Ngày tháng 04/2012

Version 6.4.3

Mô tả

Người viết DVMS

Mục lục
1. Tạo module từ hệ thống .............................................................................................. 3 2. Chỉnh sửa code: ........................................................................................................... 7 THÔNG TIN LIÊN HỆ HỖ TRỢ ......................................... Error! Bookmark not defined.

2

1. Tạo module từ hệ thống - Đăng nhập vào tài khoản thuộc nhóm quảng trị cao nhất của hệ thống => chọn vào menu: Admin tại khu vực góc trái của hệ thống => tại cửa sổ mở ra chọn: Module Builder như 1 hình sau:

3

Hình 1 cửa sổ cấu hình hệ thống của admin

4

 Trong cửa sổ Module Builder ta tiến hành tạo package

Hình 2 cửa sổ Module Builder, tạo package

5

Chú ý khi tạo package có trường Key, trường này sẽ dùng làm phần mở rộng (fix) trong database.  Tiếp theo ta tiến hành tạo module, chọn vào nút New Module để tạo module mới => nhập các thông tin module vào form => chọn kiểu module, nếu chưa xác định được kiểu gì thì chọn base => save lại

Cửa sổ tạo module

6

Một module ví dụ  Sau khi tao module xong ta có cây thư mục như hình sau ( ở đây tôi tạo module base, nếu chọn kiểu module khác thì cây thư mục có thể khác một chút)

Cây thư mục module

2. Chỉnh sửa code: Một module cơ bản trong sugar gồm các phần cơ bản:  Một trang xem danh sách({modulename}/metadata/listviewdefs.php)  Một trang để tạo mới({modulename}/metadata/editviewdefs.php)

7

 Một trang để trình bày chi tiết các thành phần sau khi tạo mới({modulename}/metadata/detailviewdefs.php) Các bạn có thể design giao diện của các thành phần này bằng module builder

Tuy nhiên có một số yêu cầu mà module builder không hỗ trợ.  Như thay đổi tên của các button cho đúng với nhu cầu dùng

Trong trường hợp này ta cần nút gửi tin và không thể nó là save được,ta phải custom lại code trong trang editviewdefs.php

8

ở đây ta quan tâm đến 'customCode': value là tên thể hiện của nút,ta có thể gõ thẳng tên của button vào hoặc lấy thông qua file ngôn ngữ của module( {$MOD.LBL_SMS} là thuộc tính trong file ngôn ngữ của module}

 Một phần quan trọng khác mà module builder không hỗ trợ là thay đổi action khi nhấn vào nút “Gửi tin” vì trong module demo trước lưu lưu thông tin gồm (số điện thoại,nội dung,brandname,va status gửi tin) ta cần gọi 1 webservice để gửi tin nhắn đến số điện thoại đó. Sugarcrm hỗ trợ chúng ta thay đổi việc này không qua hook.Để tạo một hook cho module ta vào phần custom của module custom/modules/{modulename}/ tạo file logic_hooks.php (lưu ý tên chính xác)

9

+

$hook_version =1 :theo quy định của sugar + ở đay dùng hook “before_save” :xử lý trước khi save, ngoài ra còn có một số hook khác như laf after_save,before_delete,after_delete... 'modules/sms_SMS/CustomFunction.php' :vị trí đặt file hook để xử lý 'CustomFunction' :Class xử lý 'SendSMS' ;hàm để xử lý

CHÚC THÀNH CÔNG!

10

THÔNG TIN LIÊN HỆ HỖ TRỢ

DVMS (08) 360 289 37 info@dvms.vn www.DVMS.vn

11