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

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,989
Được Like
12,732
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​
 

thahtrung06

Super Moderator
Thành viên BQT
Tham gia
12/11/2019
Bài viết
1,172
Được Like
512
Trên xen 2 mình làm theo ko được add ơi
 

thahtrung06

Super Moderator
Thành viên BQT
Tham gia
12/11/2019
Bài viết
1,172
Được Like
512
Đã thành công, phải bật chế độ phát triển (Development), không phải bật chế độ gỡ lỗi (Debug) như trên ads ơi. Cảm ơn ads đã hướng dẫn.
 

ZeroCool22

Private
Tham gia
18/06/2020
Bài viết
19
Được Like
2
Can't find Pub/Controller/ inside SRC:

Screenshot_14.jpg


All solved, it's on: src/XF/Pub/Controller/AbstractController.php
 
Sửa lần cuối:

Top Bottom