Tạo Template mới

Để tạo một template mới, sử dụng lệnh artisan sau:

php artisan gp247:make-template --name=YourTemplateName --download=0

Trong đó:

  • YourTemplateName: Tên template của bạn
  • --download=0: Tạo template trực tiếp trong thư mục app/GP247/Templates
  • --download=1: Tạo file zip template trong thư mục storage/tmp

Cấu trúc Template GP247

Đây là template chuẩn cho việc phát triển template trong hệ thống GP247. Template được thiết kế theo mô hình MVC (Model-View-Controller) và tuân thủ các quy tắc của Laravel framework.

Cấu trúc thư mục

template/
├── Admin/           # Chứa các file liên quan đến quản trị
├── Controllers/     # Chứa các controller xử lý logic
├── Lang/           # Chứa các file ngôn ngữ
├── Models/         # Chứa các model
├── public/         # Chứa các file public (css, js, images). Khi cài đặt, sẽ được copy tới public/GP247/Templates/Your-template
├── Views/          # Chứa các file view
├── AppConfig.php   # File cấu hình chính của template
├── config.php      # File cấu hình
├── function.php    # Chứa các hàm helper
├── gp247.json      # File khai báo thông tin template
├── Provider.php    # Service provider của template
├── Route.php       # Định nghĩa routes
└── route_front.stub # Template cho route frontend

Các file chính

1. gp247.json

File khai báo thông tin cơ bản của template:

  • name: Tên template
  • image: Logo template
  • auth: Tác giả
  • configGroup: Nhóm cấu hình
  • configCode: Mã cấu hình
  • configKey: Khóa cấu hình, là giá trị duy nhất, trùng vói tên folder Template
  • version: Phiên bản
  • requireCore: Là phiên bản Gp247/Core phù hợp với template
  • requirePackages: Các package (từ packagist.org) được yêu cầu cài đặt. Mặc định yêu cầu gp247/front
  • requireExtensions: Tên các extension của GP247 (plugin, template) được yêu cầu cài đặt

2. AppConfig.php

File cấu hình chính của template, chứa các phương thức:

  • install(): Cài đặt template
  • uninstall(): Gỡ cài đặt template
  • enable(): Kích hoạt template
  • disable(): Vô hiệu hóa template
  • setupStore(): Thiết lập cho store
  • removeStore(): Xóa thiết lập store
  • clickApp(): Xử lý khi click vào template trong admin
  • getInfo(): Lấy thông tin template

3. Provider.php

Service provider của template, đăng ký các service và middleware.

4. Route.php

Định nghĩa các route cho template.

Cách sử dụng

  1. Tạo template mới:

    • Đổi tên thư mục theo tên template (trùng giá trị configKey)
    • Cập nhật thông tin trong gp247.json
  2. Phát triển:

    • Thêm logic vào Controllers
    • Tạo model trong Models
    • Tạo view trong Views
    • Thêm ngôn ngữ trong Lang
    • Thêm assets trong public
  3. Cài đặt:

Lưu ý

  • Tuân thủ cấu trúc MVC
  • Sử dụng namespace đúng chuẩn
  • Đảm bảo đa ngôn ngữ
  • Kiểm tra các dependency trước khi cài đặt
  • Xử lý lỗi và rollback khi cần thiết
  • Đảm bảo responsive design cho template
  • Tối ưu hóa hiệu suất và tốc độ tải trang