Cách thêm hàm trong admin của module Nukeviet

Cách thêm hàm trong admin của module Nukeviet

Bước 1. Tạo file xuatex.tpl lưu vào thư mục : themes\admin_default\modules\users\

Bạn vào thư mục theme mặc định của admin là themes\admin_default\modules\users\ tạo một file có tên là xuatex.tpl có nội dung sau:
<!-- BEGIN: main -->
<form action="/admin/index.php?language=vi&amp;nv={MODULE_NAME}&amp;{NV_OP_VARIABLE}={OP}" method="post">
    <div class="text-left"><input class="btn btn-primary" name="submit" type="submit" value="{LANG.xuat}" /></div>
</form>
<!-- END: main -->
File này chỉ hiển thị nút bấm vào để xuất ra excel.

 

Bước 2. Tạo file xuatex.php lưu vào thư mục: modules\users\admin\

Tiếp theo các bạn vào thư mục modules\users\admin\ tạo file xuatex.php có nội dung như sau:
<?php

/**
 * @Project NUKEVIET 4.x
 * @Author VINADES.,JSC <contact@vinades.vn>
 * @Copyright (C) 2020 VINADES.,JSC. All rights reserved
 * @License: Not free read more http://nukeviet.vn/vi/store/modules/nvtools/
 * @Createdate Sat, 31 Oct 2020 02:20:33 GMT
 */

if (!defined('NV_IS_FILE_ADMIN')) {
    die('Stop!!!');
}

$page_title = $lang_module['xuatex'];

//------------------------------
// Viết code xử lý chung vào đây
//------------------------------

$xtpl = new XTemplate('xuatex.tpl', NV_ROOTDIR . '/themes/' . $global_config['module_theme'] . '/modules/' . $module_file);
$xtpl->assign('LANG', $lang_module);
$xtpl->assign('NV_LANG_VARIABLE', NV_LANG_VARIABLE);
$xtpl->assign('NV_LANG_DATA', NV_LANG_DATA);
$xtpl->assign('NV_BASE_ADMINURL', NV_BASE_ADMINURL);
$xtpl->assign('NV_NAME_VARIABLE', NV_NAME_VARIABLE);
$xtpl->assign('NV_OP_VARIABLE', NV_OP_VARIABLE);
$xtpl->assign('MODULE_NAME', $module_name);
$xtpl->assign('OP', $op);

//-------------------------------
// Viết code xuất ra site vào đây
//-------------------------------
$xtpl->parse('main');
$contents = $xtpl->text('main');

include NV_ROOTDIR . '/includes/header.php';
echo nv_admin_theme($contents);
include NV_ROOTDIR . '/includes/footer.php';
Nội dung file này chưa xử lý gì, mà đây chỉ là cấu hình cơ bản của một chức năng trong admin.

 

Bước 3. Thêm ngôn ngữ trong admin. 

Việc tiếp theo là thêm ngôn ngữ vào file ngôn ngữ trong thư mục mặc định theme admin: Vào thư mục modules\users\language\ tìm file admin_vi.php mở ra và thêm vào cuối cùng đoạn mã sau:
$lang_module['xuatex'] = 'Xuất dữ liệu ra Excel';
$lang_module['xuat'] = 'Bấm để xuất dữ liệu ra Excel';


 

Bước 4. Thêm chức năng vào menu trong quản lý admin của module. 

Ở bước này các bạn tìm file: admin.menu.php trong thư mục modules/users/admin.menu.php mở và tìm:
$allow_func[] = 'config';
Thêm vào ngay dưới dòng lệnh sau:
$submenu['xuatex'] = $lang_module['xuatex'];
$allow_func[] = 'xuatex';


Đến đây cơ bản đã thêm được một hàm  trong admin. Vào lại phần quản lý module users trong admin để xem kết quả:

Screenshot 2023 04 30 090309

Một số câu lệnh xử lý PHPExcel

//--Set độ rộng cột A là tự động.
		$sheet->getColumnDimension('A')->setAutoSize(true);

//--MergeCells--
		$sheet->mergeCells('A2:H2');

//--Chọn nền cho dòng tiêu đề A4:H4.
		$sheet->getStyle('A4:H4')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00ffff00');

//--Căn giữa hàng tiêu đề A4:H4.
		$sheet->getStyle('A4:H4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

// Set border A4: H10
			$styleArray = array(
				'borders' => array(
					'allborders' => array(
						'style' => PHPExcel_Style_Border::BORDER_THIN,
						'color' => array(
							'argb' => 'FF000000'
						)
					)
				)
			);
			$sheet->getStyle('A4' . ':' . 'H10')->applyFromArray($styleArray);

//Set font size.	
			$sheet->getStyle('A1'.':'.'H10')
					->getFont()->setBold(false)
                    ->setName('Times New Roman')
                    ->setSize(14);
//--Set mật khẩu cho file để không cho chỉnh sửa.
		$sheet->getProtection()->setPassword('123456');
		$sheet->getProtection()->setSheet(true);
//Đoạn code lưu file Excel về máy.

	    $objWriter = new PHPExcel_Writer_Excel2007($objExcel);
		$filename = 'export_diem.xlsx';
		$objWriter->save($filename);
		header('Content-Disposition: attachment; filename="'.$filename.'"');
		header('Content-Type: application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet');
		header('Content-Length: ' . filesize($filename));
		header('Content-Transfer-Encoding: binary');
		header('Cache-Control: must-revalidate');
		header('Pragma: no-cache');
		readfile($filename);
 
  Thông tin chi tiết
Tên file:
Cách thêm hàm trong admin của module Nukeviet
Phiên bản:
N/A
Tác giả:
Nguyễn Đức Lưu (ducluu80@gmail.com)
Website hỗ trợ:
http://baitaponha.com
Thuộc chủ đề:
Khác
Gửi lên:
01/05/2023 19:45
Cập nhật:
14/05/2023 12:41
Người gửi:
admin
Thông tin bản quyền:
N/A
Dung lượng:
831 bytes
Xem:
446
Tải về:
5
  Tải về
Từ site BÀI TẬP Ở NHÀ:
   Đánh giá
Bạn đánh giá thế nào về file này?
Hãy click vào hình sao để đánh giá File

  Ý kiến bạn đọc

Xem nhiều nhất
Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site

Đăng nhập thông qua Google
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây