Hướng dẫn nâng cấp module tương thích NukeViet 4.0.22

Thứ năm - 06/08/2015 10:59
NukeViet 4.0.22 mang lại sự đột phá về mặt hiển thị, xử lý giao diện. Bạn cần nâng cấp module để tương thích với NukeViet 4.0.22, theo một số lưu ý bên dưới.

1. Bỏ include class

Các tập tin class tại thư mục includes/class và có tên tập tin đúng theo cấu trúc class_name.class.php đã được load cùng hệ thống, vậy nên khi sử dụng các thư viện liên quan, bạn không cần gọi file class.
Chú ý: Với các class không nằm trong thư mục này, hoặc tên không đúng cấu trúc như đã nêu bên trên, bạn cần sử dụng include để chèn tập tin php như thông thường.
Ví dụ: 
Thay vì dùng

require_once NV_ROOTDIR . '/includes/class/download.class.php';
$download = new download( $file_src, NV_ROOTDIR . '/' . NV_TEMP_DIR, 'nv4_' . $row['type'] . '_' . $row['basename'] . '.zip' );
$download->download_file( );
exit( );

Bây giờ chỉ cần

$download = new download( $file_src, NV_ROOTDIR . '/' . NV_TEMP_DIR, 'nv4_' . $row['type'] . '_' . $row['basename'] . '.zip' );
$download->download_file( );
exit( );

2. Thay thế biến $module_name bằng $module_upload

Trong các đường dẫn đến thư mục upload, cần thay thế $module_name bằng $module_upload.
Ví dụ:
Thay vì:
$uploads_dir_user = NV_UPLOADS_DIR . '/' . $module_name;
Sẽ là
$uploads_dir_user = NV_UPLOADS_DIR . '/' . $module_upload;

3. Thay thế shadowbox bằng modal bootstrap

Thư viện shadowbox đã bị xóa khỏi hệ thống từ NukeViet 4.0.22, thay vào đó là modal của bootstrap. Vậy nên, nếu module đang sử dụng shadowbox, sẽ gây lỗi vì không tồn tại thư viện, bạn nên chuyển sang modal. Nếu muốn dùng shadowbox, có thể dơwnload lại thư viện và viết lại đường dẫn tương ứng.

4. Chuyển tập tin javascript của module vào giao diện.

Để tiện hơn trong việc xử lý module theo giao diện, tối ưu javascript, tập tin javascript của module đã chuyển sang thư mục chứa giao diện. Cụ thể:
- Tập tin modules/ten-module/js/admin.js chuyển sang (và đổi tên thành) themes/admin_default/js/ten-module.js (Nếu có)
- Tập tin modules/ten-module/js/user.js chuyển sang (và đổi tên thành) themes/ten-theme/js/ten-module.js (Nếu có)
- Xóa thư mục modules/ten-module/js (Nếu có)

5. Hạn chế viết css và javascript vào file tpl

Để tối ưu quá trình xử lý giao diện, nên hạn chế viết các đoạn mã javascript vào file .tpl

6. Cập nhật mã lệnh sử dụng captcha

Với mục đích có thể dùng nhiều hơn một ảnh captcha trên cùng một trang, cần viết lại các đoạn mã hiển thị captcha.
Xem thêm: Hướng dẫn sử dụng chức năng nhập mã captcha

Kiểm tra đoạn code sau trong file PHP

scaptcha=captcha&cch=' . nv_genpass( 10 );

Thay bằng: 

scaptcha=captcha&t=' . NV_CURRENTTIME;
Kiểm tra file themes/ten-theme/js/main.js (nếu không tồn tại, tạo mới hoặc tìm đến những file khởi động cùng giao diện), thêm hàm change_captcha với nội dung bên dưới.
// Change Captcha
function change_captcha(a) {
	$("img.captchaImg").attr("src",nv_siteroot + "index.php?scaptcha=captcha&nocache=" + nv_randomPassword(10));
	$(a).val("");
	return !1
};
Tại vị trí hiển thị ảnh captcha, thêm class captchaImg (class=“captchaImg”), không dùng id=“vimg” như trước, tên class là bắt buộc.
<img height="22" src="/index.php?scaptcha=captcha&t={NV_CURRENTTIME}" alt="{LANG.captcha}" class="captchaImg" />
Tại vị trí hiển thị ảnh reset captcha, dùng sự kiện onclick gọi hàm change_captcha với tham số là ID input nhập captcha (fcode_iavim).
<em class="fa fa-pointer fa-refresh fa-lg" onclick="change_captcha('#fcode_iavim');">&nbsp;</em>
Và input nhập mã
<input type="text" maxlength="6" value="" id="fcode_iavim" name="fcode" class="form-control" />
Code hoàn chỉnh
<img height="22" src="/index.php?scaptcha=captcha&t={NV_CURRENTTIME}" alt="{LANG.captcha}" class="captchaImg" />&nbsp;<em class="fa fa-pointer fa-refresh fa-lg" onclick="change_captcha('#fcode_iavim');">&nbsp;</em><input type="text" maxlength="6" value="" id="fcode_iavim" name="fcode" class="form-control" />

7. Thay đổi đường dẫn các thư mục js, images, editors ở thư mục gốc

Các đường dẫn đến các thư mục js, images, editors cần thêm hằng NV_ASSETS_DIR (kiểm tra ở PHP , HTML và Javascript), các thư mục này đã chuyển vào thư mục assets tại thư mục gốc.
Ví dụ:
Thay vì viết 
<script type="text/javascript" src="/js/select2/select2.min.js"></script>
Sẽ viết
<script type="text/javascript" src="/assets/js/select2/select2.min.js"></script>
Tìm tất cả nv_siteroot và thay bằng nv_base_siteurl
Tìm tất cả nv_sitelang và thay bằng nv_lang_data

8. Tìm và thay thế SYSTEM_FILES_DIR bằng NV_ASSETS_DIR 

Tìm và thay thế SYSTEM_FILES_DIR bằng NV_ASSETS_DIR. Các hằng này thường sử dụng ở file theme.php

Tổng số điểm của bài viết là: 94 trong 19 đánh giá

Xếp hạng: 4.9 - 19 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Bài viết mới hơn

Bài viết cũ hơn

Trung tâm ứng dụng NukeViet
Ghi rõ nguồn khi sao chép thông tin từ website này.

Powered by NukeViet - a product of VINADES.,JSC