1.8.x Tính Năng: Endless

Preview

Tác giả: Ben

Phiên bản: Beta 1

Gửi lúc: 17/02/2021

Cập nhật lúc: 17/02/2021

Mô tả
Endless là một plugin thay thế phân trang thông thường bằng cách tiếp cận cuộn vô hạn. Nó được lấy cảm hứng từ Flarum's, ngoại trừ nó được đóng gói với một số sửa đổi làm cho nó hoàn toàn tương thích với các phiên bản MyBB mới nhất và nhằm mục đích cải thiện độ ổn định và khả năng sử dụng của nó.

Yêu cầu tối thiểu
PHP 5.4
MyBB 1.8.0

Những đặc điểm chính
Khả năng mở rộng
Endless được thiết kế để thay thế phân trang MyBB của cả chủ đề và diễn đàn bằng phân trang cuộn vô hạn, nhưng nó có khả năng chuyển đổi bất kỳ danh sách phân trang tùy chỉnh nào thành trải nghiệm cuộn vô tận. Ví dụ: trang chủ newsfeed của MyBBoost có hỗ trợ Endless chỉ với một vài dòng mã phía máy chủ.

Endless tự động phân tích cú pháp danh sách dữ liệu hợp lệ trong DOM và gửi các yêu cầu AJAX với một loạt các mục để lấy từ phần phụ trợ và nó hiển thị một trình giữ chỗ tạm thời trong khi dữ liệu đang được tìm nạp. Tất cả những gì bạn cần làm là viết ra một hàm chấp nhận và xử lý dữ liệu do Endless tạo ra, lấy các mục được yêu cầu và trả về chúng theo cách tiêu chuẩn. Hướng dẫn từng bước sẽ được viết ra sau giai đoạn beta.

Máy chà sàn

Trích dẫnĐiều tốt về phân trang thông thường là có thể nhanh chóng nhảy qua các trang, với cuộn vô hạn, tôi sẽ phải tiếp tục cuộn để có được câu trả lời cuối cùng. Cuộn vô hạn trông tốt hơn rất nhiều so với phân trang thông thường nhưng tôi nghĩ chức năng của nó sẽ trở nên tẻ nhạt, đó là trừ khi bạn đã thực hiện một giải pháp cho việc này.


Giải pháp đến trực tiếp từ nguồn cảm hứng của Flarum. Endless bao gồm một bộ lọc, một mục nhỏ có thể kéo được thêm tự động bởi plugin mà bạn có thể sử dụng để nhanh chóng chuyển giữa các bài đăng và chủ đề trong thảo luận / diễn đàn hiện đang xem. Vị trí máy chà sàn được cập nhật tự động khi bạn cuộn, vì vậy bạn luôn biết những gì còn lại để đọc; Và bạn có thể kéo và thả máy lọc hoặc nhấp vào một điểm cụ thể bên trong nó để được khởi chạy trực tiếp đến phạm vi bài đăng bạn muốn xem.

Ở các giai đoạn hiện tại, bạn có thể chọn ẩn hoặc hiển thị máy chà sàn và đặt các điểm ngắt chủ đề/bài đăng, sau đó, nếu một diễn đàn / chủ đề vượt quá kích thước điểm ngắt, máy chà sàn sẽ được hiển thị. Bạn cũng có thể chọn ẩn trình lọc nếu một diễn đàn / chủ đề có lượng dữ liệu một trang.

Tự động phát hiện hoặc kích hoạt thủ công
Bạn có thể yêu cầu Endless tự động phát hiện các mục cuộn và hiển thị của người dùng hoặc bạn có thể thiết lập các nút thủ công mà người dùng sẽ cần nhấn để tải thêm các bài đăng/chủ đề, theo cả hướng lên và xuống. Tính năng này hiện đang được mã hóa cứng. Nó sẽ được tích hợp vào hệ thống cài đặt của MyBB trong phiên bản beta 2.

Cài đặt
Tải lên các tệp duy trì cùng cấu trúc thư mục mà chúng được biên dịch và nhấp vào nút Cài đặt & kích hoạt trong danh sách plugin của bảng của bạn.

Endless yêu cầu 2 lớp CSS để hoạt động bình thường:

chủ đề đến mọi chủ đề (forumdisplay_thread);
đăng vào mọi bài đăng (postbit/postbit_classic).

Đảm bảo bạn có các lớp đó trong các mẫu của chủ đề, nếu không nó sẽ không hoạt động.

Hiển thị tháng và năm trong máy chà sàn
Máy chà sàn có thể phát hiện dòng ngày của mục hiện đang hiển thị và hiển thị ngày "tháng, năm" được định dạng khi bạn cuộn, vì vậy bạn biết dòng thời gian gần đúng về những gì bạn đang đọc. Tuy nhiên, Endless cần một dấu thời gian để xử lý nó; Bạn phải thêm nó theo cách thủ công vào mẫu của mình.

forumdisplay_thread: thêm data-time="{$thread['dateline']}" vào phần tử tr.thread;
postbit hoặc postbit_classic: thêm data-time="{$post['dateline']}" vào phần tử div.post.

Cài đặt
Endless thêm 4 cài đặt để điều chỉnh máy chà sàn như đã giải thích ở trên.

Mẫu và biểu định kiểu
Endless thêm một tệp CSS có tên endless.css vào mọi chủ đề trên bảng của bạn. Bạn có thể tùy chỉnh giao diện của trình lọc và trình giữ chỗ bằng cách chỉnh sửa các quy tắc CSS của stylesheet và 3 mẫu được thêm vào bởi Endless được gọi là endless_placeholder_post, endless_placeholder_thread và endless_scrubber. {totalCount} và {colspan} được thay thế bằng Endless với các giá trị tương ứng (tổng số vật phẩm và colspan để phù hợp với sự thay đổi của chủ đề mặc định của MyBB trong forumdisplay, do các mod có thêm một cột với hộp kiểm).