Addon 2x PHP Criteria - Tiêu chí PHP cho XenForo 2

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,735
Được Like
12,681
PHP Criteria - Tiêu chí PHP cho XenForo 2 1.0.0

Addon này cho phép bạn tạo các tiêu chí phức tạp cho các trophy nâng cao hoặc các chương trình khuyến mãi của nhóm người dùng với code PHP tùy chỉnh.

logo.png

Ví dụ: bạn có thể sử dụng:
  • Đếm số lượng chủ đề mà người dùng đã tạo ra trong diễn đàn cụ thể
  • Phân tích chữ ký của người dùng
  • Đếm số lượt thích trên một tin nhắn
  • Truy xuất dữ liệu từ các addon (như Resource Manager hoặc Question Threads)
  • Xem người dùng đã chỉnh sửa bài viết bao nhiêu lần (và khi nào)
  • ...
Nói cách khác, addon này cho phép bạn truy cập vào bên trong xenForo và cơ sở dữ liệu khi tạo ra các trophy/chương trình khuyến mại.

Hơn nữa, bạn thậm chí có thể kết hợp các tiêu chuẩn xenForo mặc định và code PHP tùy chỉnh của bạn!

Cài đặt
  1. Tải xuống tập tin đính kèm và giải nén ra
  2. Mở thư mục upload và up thư mục src vào thư mục gốc cài đặt XenForo.
  3. Trong ACP, vào phần "Add-on" và cài đặt addon "PHP Criteria"
Bây giờ bạn có thể tạo các trophy/chương trình khuyến mãi nâng cao!

Cách dùng:
Khi tạo một trophy/khuyến mãi mới, bạn có thể thấy một tab mới gọi là "PHP Callback":

php_callback_tab.png

Tab này mở ra một cửa sổ, nơi bạn có thể thiết lập một đường dẫn đến class .php và một phương pháp chính xác để được thực hiện:

php_callback_pane.png

Ví dụ: theo hình ảnh ở trên, chúng ta cần tạo tập tin Criteria.php tại src/addons với nội dung sau:
Mã:
<?php

class Criteria
{
    public static function trophy_AllForOne(\XF\App $app, \XF\Entity\User $user)
    {
        //
        // YOU CUSTOM CRITERIA CODE GOES BELOW
        //

        // Getting the database
        $db = $app->db();

        // Database query for selecting the maximum number of likes for single user post
        $query = "SELECT `likes` FROM `xf_post` WHERE `user_id` = ? ORDER BY `likes` DESC LIMIT 1";

        // Retrieving the maximum number of likes
        $likes = $db->fetchOne($query, [$user->user_id]);

        // Checking that we have a result from database (we do expect a number)
        if(is_int($likes))
        {
            // Returning true if user has a message with 5 or more likes or false if he has not
            return ($likes >= 5);
        }
        else
        {
            return false;
        }
    }
}

Đảm bảo bạn nhận được cả \XF\App $app và \XF\Entity\User $user bằng phương pháp của mình.

Lưu ý rằng bạn có thể kết hợp các tiêu chuẩn xenForo mặc định với code của bạn vì vậy đừng viết code dự phòng!

Ví dụ
Sau khi cài đặt addon, bạn sẽ tìm thấy một tập tin có tên PHPCriteria.examples.php tại src/addons.
Nó chứa ba ví dụ của PHP callback với các giải thích chi tiết!
Hãy tự tạo callback của riêng bạn dựa trên các ví dụ.

Bạn cũng có thể giữ lại tất cả callback trong PHPCriteria.php sẽ được tạo tự động sau khi cài đặt addon.

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

Đính kèm

  • PHPCriteria-1.0.0.zip
    37.8 KB · Lượt xem: 13

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mr. Tuấn

Mobile/Zalo: 0988 488 096

Telegram: bluekpro

Email: [email protected]

Nhà Tài Trợ

Mút Xốp Không Gian
pallet Thịnh Phát
Top Bottom