PrestaShop Lession 3 tạo module và menu

Sau 2 bài giới thiệu và làm quen giao diện, upload module, cuối cùng chúng ta cũng đã được tạo module mới. Hãy đọc tài liệu của PrestaShop và bắt đầu code.

Document: Creating a PrestaShop 1.7 Module

Tạo Module cần những file nào?

Câu trả lời là: cần duy nhất 1 file thôi. Bạn chưa cần tạo Controller, Views hay những chức năng cao siêu thì chỉ cần 1 file duy nhất là đủ.

Bước 1: vào thư mục project -> modules

Đây là nơi chứa tất cả module của PrestaShop. Tạo thư mục nvhaimodule. Vào nvhaimodule tạo 2 thư mục controllers và views. File chúng ta sẽ làm việc nhiều nhất trong bài 3 này là file nvhaimodule.php

Lưu ý: tên file phải trùng với tên thư mục.

PrestaShop tạo Module và Menu

PrestaShop tạo Module và Menu

Kế tiếp, chúng ta sẽ dựa theo hướng dẫn tạo module đầu tiên của PrestaShop đã viết sẵn để bắt đầu tạo module.

Bước 2: Vào file nvhaimodule.php

PrestaShop tạo Module và Menu

File có 4 phần:

Phần 1:

defined(‘_PS_VERSION_’) để kiểm tra PrestaShop của bạn có đúng phiên bản mà module có thể cài đặt hay không.

Phần 2:

Hàm khởi tạo.

name: tên module, viết giống tên thư mục và tên file nvhaimodule.php

tab: Thuộc tính tab. Tiêu đề của phần sẽ chứa module này trong danh sách các module hỗ trợ của PrestaShop. Bạn có thể sử dụng một tên hiện có, chẳng hạn như seo, front_office_features hoặc analytics_stats hoặc một tên tùy chỉnh. PrestaShop đã chọn sẵn front_office_features vì module này sẽ có tác động đến giao diện người dùng.
Bạn có thể vào trang Create First Module của PretaShop để xem danh sách tất cả các tab.

version: Phiên bản CỦA MODULE. Đừng nhầm lẫn với phiên bản của PrestaShop.

Author: Tác giả hoặc bản quyền. Nếu làm dự án, hãy để tên công ty của khách hàng.

Need_instance: Cho biết có tải module hay không khi hiển thị trang module trong Module & Service. Nếu đặt là 0, module sẽ không được tải và tiêu tốn ít tài nguyên hơn để tạo module. Nếu module của bạn cần hiển thị thông báo trong trang Module & Service, thì bạn phải đặt thuộc tính này thành 1. Tóm lại, vấn đề này không quan trọng lắm.

ps_versions_compliancy: Khai báo phiên bản PrestaShop có thể cài đặt module. Nếu bạn xác định module của bạn có thể cài đặt trên phiên bản PrestaShop mới nhất, hãy chọn hằng (constant) là _PS_VERSION_

bootstrap: xác nhận module đã được xây dựng với công cụ Bootstrap của PrestaShop 1.6.

parent::__construct(); Kế thừa hàm khởi tạo của lớp cha là lớp Module

displayName và description: Tên và giới thiệu bạn sẽ thấy ở trang Module & Service.

confirmUninstall: Xác nhận gỡ cài đặt.

if (!Configuration::get(‘MYMODULE_NAME’)) Cảnh báo không có giá trị MYMODULE_NAME

Phần 3:

Hàm cài đặt

Hàm này bạn chỉ cần hiểu đơn giản: if kiểm tra xem hàm đã được cài đặt chưa (install trả kết quả false) hoặc MYMODULE_NAME chưa được cập nhận giá trị.

Nếu thỏa một trong các điều kiện đó, return false để ngưng cài đặt. Ngược lại, return true để bắt đầu cài đặt.

Bạn có thể thêm bất kỳ hành động nào trước if hoặc trong if. Ví dụ, bấm nút Cài Đặt xong là tạo table trong database. Cách này sẽ rất cần thiết và sử dụng nhiều.

Phần 4:

Hàm gỡ cài đặt. Cách hoạt động giống như hàm cài đặt.

Bước 3: Vào trang Module & Services để xem kết quả. Module chưa cài đặt đã xuất hiện NVHAI module. Cài đặt xong, module chuyển sang tab installed modules.

PrestaShop tạo Module và Menu

PrestaShop tạo Module và Menu

Đến đây, bạn đã tạo được 1 module đơn giản. Và vì nó đơn giản nên chưa thực hiện bất kỳ chức năng nào. Tiếp theo, hãy cho module 1 chức năng: tạo thêm menu trong trang admin.

Tạo Menu sau khi cài đặt Module

Leave a Comment