Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
TÀI LIỆU HƯỚNG DẪN VIẾT MODULE CHO SUGARCRM
1. TÀI LIỆU HƯỚNG DẪN VIẾT MODULE CHO
SUGARCRM
Tài liệu kỹ thuật
04/2012
1
2. Lịch sử chỉnh sửa
Ngày tháng Version Mô tả Người viết
04/2012 6.4.3 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
3. 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
5. 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
6. 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
7. 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
8. 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
9. ở đâ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
10. +
$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
11. THÔNG TIN LIÊN HỆ HỖ TRỢ
DVMS
(08) 360 289 37 info@dvms.vn
www.DVMS.vn
11