Tutorial 2x Cho phép Moderator xem diễn đàn khi board không hoạt động cho XenForo 2

Thảo luận trong 'Tips and Guides' bắt đầu bởi PVS, 09/03/2018.

  • Google checker:
  1. PVS

    PVS Cộng Sự Đặc Biệt Thành viên BQT

    Tham gia:
    28/02/2015
    Bài viết:
    8,985
    Đã được thích:
    6,134
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    SV
    Nơi ở:
    Huế
    Cho phép Moderator xem diễn đàn khi board không hoạt động cho XenForo 2

    Hướng dẫn này không khó và mình thấy sửa đổi này khá hữu ích nếu bạn muốn staff/moderator diễn đàn của bạn có thể xem các diễn đàn trong khi bạn đang làm việc. Ngoài ra, nó có thể dễ dàng bị vô hiệu trong ACP.

    Trước khi bắt đầu bước đầu tiên, bạn cần kích hoạt chế độ Debug trong tệp config.php đặt tại ~/src/config.php, bạn có thể thực hiện việc này bằng cách thêm vào cuối tệp:
    Mã:
    $config['debug'] = true;
    Một khi bạn đã làm điều đó, lưu lại các tập tin và tải lại trang web của bạn (nếu bạn đang sử dụng FTP).

    Được rồi, bây giờ bạn đã kích hoạt chế độ Debug, bạn sẽ thấy giao diện người dùng của mình và Admin Control Panel có thêm vài nút hơn bình thường. Nếu bạn điều hướng đến ACP -> Options, bạn sẽ thấy có một nút "Edit" bên cạnh các menu, nếu nó không được hiển thị, chứng tỏ chế độ Debug đã bị tắt.

    c4x7kqmORV_BjFvgkUUMAA.jpeg
    Một khi bạn đã xác minh rằng chế độ Debug kích hoạt, điều hướng đến ACP -> Options -> Board Active. Bây giờ bạn nhấn "Add Option".

    Screenshot_88.png
    Sau khi nhấp vào "Add Option", bạn sẽ phải điền vào form như dưới đây, nếu một cái gì đó không được liệt kê, đừng điền vào nó.
    Mã:
    Option ID: boardInactiveAllowStaff
    Add-on: Xenforo
    Title: Allow moderators when inactive
    Explanation: Allow moderators to view the forum when it is inactive
    Edit Format: On/Off Check Box
    Data Type: Boolean
    Default Value: 0 (zero)
    Một khi bạn đã hoàn thành thì lưu lại.

    Giờ bạn điều hướng tới ~/src/Pub/Controller/ và mở tệp tin có tên "AbstractController.php". Bây giờ tìm chức năng assertBoardActive, bạn có thể làm như vậy bằng cách nhấn CTRL + F và gõ "public function assertBoardActive" trong hộp tìm kiếm.

    Screenshot_89.png
    Bây giờ, bạn cần thay thế đoạn code sau:
    Mã:
    if (!$options->boardActive && !\XF::visitor()->is_admin)
    Bằng:
    Mã:
    if (!$options->boardActive && !\XF::visitor()->is_admin && !\XF::visitor()->is_moderator)
    Lưu tệp và tải nó lên máy chủ của bạn.

    Đợi đã ... đùa, chúng ta chưa làm xong! Cuối cùng, bước cuối cùng là vô hiệu hóa chế độ Debug. Điều hướng về tập tin ~/src/config.php của bạn, và thay đổi:
    Mã:
    $config['debug'] = true;
    Thành
    Mã:
    $config['debug'] = false;
    Bây giờ bạn có thể điều hướng đến ACP -> Options -> Board Active và check vào box nếu bạn muốn cho phép moderator xem diễn đàn trong khi diễn đàn đóng.

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


    Nguồn: xenforo.com​
     

Chia sẻ trang này

Đang tải...