ProductFlashSale — Tài liệu giới thiệu (VI)
Tổng quan
ProductFlashSale là plugin khuyến mãi chớp nhoáng (Flash Sale) cho hệ thống cửa hàng của GP247. Plugin giúp bạn:
- Thiết lập mức giá khuyến mãi theo thời gian cho từng sản phẩm.
- Quản lý tồn kho Flash Sale độc lập (stock/sold) và thứ tự hiển thị (sort).
- Hiển thị danh sách sản phẩm đang Flash Sale ở trang riêng và block trên trang chủ.
Yêu cầu
- Bắt buộc cài đặt:
gp247/shop.
Tính năng chính
- Quản trị:
- Trang quản trị riêng: thêm/sửa/xóa cấu hình Flash Sale cho sản phẩm.
- Trường cấu hình:
product_id,stock,sold,sort,price_promotion,date_start,date_end,status_promotion. - Tự tạo/đồng bộ bản ghi khuyến mãi (
shop_product_promotion) khi thêm/sửa Flash Sale. - Tạo bảng dữ liệu riêng
shop_product_flashkhi cài đặt plugin.
- Front-end:
- Trang danh sách: route tên
product_flash_sale.index(URL:/plugin/product_flash_sale/index, có hỗ trợ đa ngôn ngữ nếu bậtGP247_SEO_LANG). - Block hiển thị Flash Sale kèm bộ đếm thời gian, tiến độ bán (sold/stock), giá khuyến mãi.
- Chỉ hiển thị hàng còn trong khung thời gian, còn hàng và đang bật khuyến mãi.
- Trang danh sách: route tên
- Helper sẵn có:
gp247_product_flash($limit = 8, $paginate = false)— lấy danh sách sản phẩm Flash Sale.gp247_product_flash_check_over($productId, $quantity)— kiểm tra vượt số lượng còn lại.gp247_product_flash_update_stock($productId, $quantity)— tăng số đã bán (sold).
Logic xử lý
- Trước khi đơn hàng được tạo: hệ thống kiểm tra số lượng còn lại của sản phẩm Flash Sale dựa trên bảng
shop_product_flash(trườngstockvàsold).- Tham chiếu helper:
gp247_product_flash_check_over($productId, $quantity).
- Tham chiếu helper:
- Khi đơn hàng được tạo: hệ thống tăng giá trị
soldtương ứng trong bảngshop_product_flash.- Tham chiếu helper:
gp247_product_flash_update_stock($productId, $quantity).
- Tham chiếu helper:
Hướng dẫn cài đặt
Tham khảo chi tiết theo tài liệu chính thức: Hướng dẫn cài đặt Extension.
Tóm tắt các bước:
- Chuẩn bị mã nguồn plugin (đã có sẵn tại
app/GP247/Plugins/ProductFlashSale). - Vào trang quản trị:
- Mở mục Extensions/Plugins (trình quản lý extension).
- Tìm "Product Flash Sale" và nhấn Install.
- Sau khi cài đặt, nhấn Enable để kích hoạt.
- Hệ thống sẽ:
- Thêm menu quản trị dưới nhóm Catalog trỏ đến
admin_product_flash_sale.index. - Tự tạo bảng dữ liệu
shop_product_flash.
- Thêm menu quản trị dưới nhóm Catalog trỏ đến
- Cấu hình Flash Sale cho sản phẩm tại trang quản trị:
- Chọn sản phẩm (không thuộc nhóm Group), nhập
stock,sort. - Thiết lập
price_promotion,date_start,date_end, bậtstatus_promotion. - Lưu để tạo/đồng bộ thông tin khuyến mãi.
- Chọn sản phẩm (không thuộc nhóm Group), nhập
- Xóa cache hệ thống (nếu bật cache) để đảm bảo nhận cấu hình mới.
Sử dụng giao diện (Front-end)
- Trang danh sách Flash Sale: dùng route
product_flash_sale.indexđể gắn link trong theme.
Ví dụ chèn link trong Blade:
{{-- Link to flash sale page --}}
<a href="{{ route('product_flash_sale.index') }}">Flash Sale</a>
- Chèn block Flash Sale vào trang chủ hoặc vị trí mong muốn:
{{-- Include Product Flash Sale block --}}
@include('Plugins/ProductFlashSale::blocks.flash_sale')
-
Tùy chọn (override theo template và quản lý qua admin):
- Sao chép file view block từ plugin sang template hiện tại:
- Nguồn:
app/GP247/Plugins/ProductFlashSale/Views/blocks/flash_sale.blade.php - Đích:
app/GP247/Templates/{TEMPLATE}/blocks/flash_sale.blade.php
- Nguồn:
- Vào trang quản trị, mục
layout_block, thêm blockflash_salevào vị trí mong muốn của giao diện.
- Sao chép file view block từ plugin sang template hiện tại:
-
Sử dụng helper để tự tùy biến danh sách:
{{-- Get 8 flash sale products (no paginate) --}}
@php($products = gp247_product_flash(8))
@foreach($products as $product)
<div>{{ $product->name }}</div>
@endforeach
Ghi chú:
- Block mẫu của plugin nằm tại
app/GP247/Plugins/ProductFlashSale/Views/blocks/flash_sale.blade.php. - Bộ đếm thời gian dựa theo
promotionPrice->date_endcủa sản phẩm và dùngjquery.countdown(CDN). - Điều kiện hiển thị: khuyến mãi đang bật, ngày hiện tại nằm trong khoảng
date_start→date_end, vàsold < stock.
Gỡ cài đặt / Bật tắt
- Disable/Enable: thực hiện tại trang quản trị Extensions/Plugins.
- Uninstall: xóa cấu hình, menu, home widget và bảng
shop_product_flashdo plugin tạo.
Sản phẩm đề xuất:
English