Hướng dẫn nâng cấp module tương thích bản 4.0.29 lên 4.1.00 - nukeviet/update GitHub Wiki
Về cơ bản, NukeViet 4.1.00 không có thay đổi quá nhiều về mặt cấu trúc so với NukeViet 4 Official, do đó các module sử dụng cho NukeViet 4.1.00 nếu không cần nâng cấp vẫn hoạt động được trên NukeViet 4.1.00. Tuy nhiên, để tối ưu module hơn, cần lưu ý các vấn đề sau:
Chức năng comment của hệ thống
Nếu module có sử dụng chức năng comment của hệ thống, cần thêm hai cấu hình perpagecomm
và timeoutcomm
bằng cách thêm vào file action:
$sql_create_module[] = "INSERT INTO " . NV_CONFIG_GLOBALTABLE . " (lang, module, config_name, config_value) VALUES ('" . $lang . "', '" . $module_name . "', 'perpagecomm', '5')";
$sql_create_module[] = "INSERT INTO " . NV_CONFIG_GLOBALTABLE . " (lang, module, config_name, config_value) VALUES ('" . $lang . "', '" . $module_name . "', 'timeoutcomm', '360')";
Chú ý:
- perpagecomm là số bình luận trên một trang
- timeoutcomm là thời gian tính bằng giây giữa hai lần gửi bình luận (bằng 0 thì không giới hạn)
Sửa tối ưu cache:
Việc này nhằm tối ưu cache, nếu không thực hiện module vẫn hoạt động bình thường.
Tìm trong code module (đặc biệt ở các file `modules/ten-module/funcs/sitemap.php) các phần kiểm tra thời gian cache giống
filemtime(NV_ROOTDIR . '/' . NV_CACHEDIR . '/' . $module_name . '/' . $cacheFile) >= $pa
Nếu có xóa các phần đó, kiểm tra lại biến $pa
theo kiểu $pa = NV_CURRENTTIME - 7200;
, đưa giá trị 7200
thành time-to-live (tham số thứ tư) trong lệnh $nv_Cache->getItem
và $nv_Cache->setItem
.
Ví dụ cụ thể đối với module news:
Mở modules/news/funcs/sitemap.php
tìm
$pa = NV_CURRENTTIME - 7200;
Thay lại thành
$cacheTTL = 7200;
Tìm
if (($cache = $nv_Cache->getItem($module_name, $cacheFile)) != false and filemtime(NV_ROOTDIR . '/' . NV_CACHEDIR . '/' . $module_name . '/' . $cacheFile) >= $pa) {
Thay lại thành
if (($cache = $nv_Cache->getItem($module_name, $cacheFile, $cacheTTL)) != false) {
Tìm
$nv_Cache->setItem($module_name, $cacheFile, $cache);
Thay lại thành
$nv_Cache->setItem($module_name, $cacheFile, $cache, $cacheTTL);
Sửa để phù hợp Jquery 3
Tại các đoạn có dạng
$(window).load(function () {
Thay lại thành
$(window).on('load', function() {