Công cụ thành viên

Công cụ trang web


programming4:module:notification

Khác biệt

Đây là những khác biệt giữa hai phiên bản của trang.

Liên kết đến bản xem so sánh này

Phiên bản trước của cả hai bênPhiên bản trước
Phiên bản sau
Phiên bản trước
programming4:module:notification [2016/06/21 10:40] hoaquynhtim99programming4:module:notification [2016/06/21 11:40] (hiện tại) hoaquynhtim99
Dòng 3: Dòng 3:
 Một module có notification khi vào phần quản trị, bên góc phải phía trên sẽ hiện các thông báo, nhấp vào mỗi thông báo để xem chi tiết. Một module có notification khi vào phần quản trị, bên góc phải phía trên sẽ hiện các thông báo, nhấp vào mỗi thông báo để xem chi tiết.
 {{ :programming4:module:thong_bao.png |Hình 1: Thông báo của module}} {{ :programming4:module:thong_bao.png |Hình 1: Thông báo của module}}
 +
 +Một module hỗ trợ notification cần tồn tại file ''modules/module-name/notification.php'' - File này là file xử lý lại tiêu đề và liên kết khi ấn vào thông báo.
  
 Để hỗ trợ hệ thống notification, NukeViet cung cấp sẵn trong nhân hệ thống ba hàm xử lý: Để hỗ trợ hệ thống notification, NukeViet cung cấp sẵn trong nhân hệ thống ba hàm xử lý:
-  * [[http://wiki.nukeviet.vn/programming4:function#nv_insert_notification|nv_insert_notification]] +  * [[programming4:function#nv_insert_notification|nv_insert_notification]] 
-  * [[http://wiki.nukeviet.vn/programming4:function#nv_status_notification|nv_status_notification]] +  * [[programming4:function#nv_status_notification|nv_status_notification]] 
-  * [[http://wiki.nukeviet.vn/programming4:function#nv_delete_notification|nv_delete_notification]]+  * [[programming4:function#nv_delete_notification|nv_delete_notification]] 
 + 
 +===== Tạo một notification mới ===== 
 +Để tạo một notification mới, từ vị trí thích hợp trong module, sử dụng hàm [[programming4:function#nv_insert_notification|nv_insert_notification]]. 
 + 
 +Ví dụ: tạo một notification từ module contact (thông báo có liên hệ mới) 
 + 
 +<code php>nv_insert_notification($module_name, 'contact_new', array('title' => $ftitle), $row_id, 0, $sender_id, 1);</code> 
 + 
 +===== Code xử lý ở notification.php ===== 
 +Các biến hỗ trợ có thể sử dụng: 
 +  * ''$data'' là mảng chứa dữ liệu của từng thông báo sẽ duyệt qua 
 +  * ''$mod'' là biến riêng của ''$data['module']'' 
 + 
 +Các phần tử của ''$data'' bao gồm: 
 +  * ''module'' là giá trị ''$module_name'' cần thống báo 
 +  * ''type'' là chuỗi ký tự bất kỳ để tạo khóa cho thông báo 
 +  * ''content'' là mảng một chiều chứa nội dung thông báo 
 +  * ''obid'' giá trị số nguyên không âm để tạo khóa 
 +  * ''send_to'' giá trị userID của người nhận, bằng 0 nếu muốn thông báo cho tất cả 
 +  * ''send_from'' giá trị userID của người gửi thông báo, bằng 0 nếu là thông báo từ hệ thống 
 + 
 +Nhiệm vụ của file này là xuất ra hai phần tử còn thiếu của ''$data'' là ''title'' và ''link''. Dựa trên các phần tử đã có. 
 + 
 +Ví dụ: 
 + 
 +<code php notification.php> 
 +<?php 
 + 
 +/** 
 + * @Project NUKEVIET 4.
 + * @Author VINADES (contact@vinades.vn
 + * @Copyright (C) 2014 VINADES. All rights reserved 
 + * @License GNU/GPL version 2 or any later version 
 + * @Createdate Apr 20, 2010 10:47:41 AM 
 + */ 
 + 
 +if (! defined('NV_IS_FILE_SITEINFO')) { 
 +    die('Stop!!!'); 
 +
 + 
 +$lang_siteinfo = nv_get_lang_module($mod); 
 + 
 +$data['title'] = sprintf($lang_siteinfo['notification_contact_new'], $data['send_from'], $data['content']['title']); 
 +$data['link'] = NV_BASE_ADMINURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=' . $data['module'] . '&amp;' . NV_OP_VARIABLE . '=view&amp;id=' . $data['obid']; 
 + 
 +</code> 
 + 
 +> Chú ý: Có thể sử dụng <code php>$lang_siteinfo = nv_get_lang_module($mod)</code> để lấy ngôn ngữ admin của module. 
 + 
 +===== Cập nhật trạng thái ===== 
 +Sử dụng hàm [[programming4:function#nv_status_notification|nv_status_notification]] 
 + 
 +Ví dụ: 
 + 
 +<code php> 
 +nv_status_notification(NV_LANG_DATA, $module_name, 'contact_new', $id, 0); 
 +</code> 
 + 
 +===== Xóa notification ===== 
 +Sử dụng hàm [[programming4:function#nv_delete_notification|nv_delete_notification]] 
 + 
 +Ví dụ:
  
 +<code php>
 +nv_delete_notification(NV_LANG_DATA, $module_name, 'contact_new', $id);
 +</code>
  
programming4/module/notification.1466480424.txt.gz · Sửa đổi lần cuối: 2016/06/21 10:40 bởi hoaquynhtim99