Tutorial 2x Photo / Image Competition with a Question forum - Tạo cuộc thi ảnh/hình ảnh bằng diễn đàn Question cho XenForo 2.2

PVS

Cộng Sự Đặc Biệt
Thành viên BQT
Tham gia
28/02/2015
Bài viết
12,464
Reaction score
7,928
Photo / Image Competition with a Question forum - Tạo cuộc thi ảnh/hình ảnh bằng diễn đàn Question cho XenForo 2.2

10 phút để tạo/chuyển đổi một node diễn đàn sang loại diễn đàn Question và một vài chỉnh sửa Template cơ bản để có một cuộc thi ảnh/hình ảnh khá hiệu quả trên trang web của bạn cho các thành viên.

Mục tiêu: Một node diễn đàn với một chủ đề, mỗi tháng, nơi các thành viên sẽ gửi ảnh/hình ảnh của họ. Các thành viên sẽ bình chọn ảnh/hình ảnh mà họ thích. Vào cuối tháng, bài đăng có lượt bình chọn cao nhất được người kiểm duyệt/nhân viên đánh dấu là người chiến thắng.

Bước 1: Tạo hoặc chuyển đổi một node diễn đàn hiện có và biến nó thành một loại diễn đàn Question.

Từ /admin.php?nodes/ chọn một trong hai cách sau;
i) thêm một node mới với loại diễn đàn Question, hoặc
ii) chỉnh sửa một node hiện có và thay đổi loại của nó thành Question

Screen Shot 2020-09-08 at 13.51.47.png

Bước 2: Loại bỏ khả năng từ bỏ phiếu bầu.

Chỉnh sửa node bạn vừa tạo/chuyển đổi và bỏ chọn tùy chọn có nhãn 'Allow answers given to votable questions to be downvoted'

234041-391a28fba578d2a5b72d63ca5a39e062.png

Lưu ý: Trước khi lưu cài đặt node, hãy nhìn vào thanh URL của trình duyệt để ghi nhận ID node vì bạn sẽ cần điều này cho Bước 5 bên dưới. ID node của bạn là số gần cuối URL, ví dụ: với URL của /admin.php?forums/monthly-photo-competition.89/edit ID node là 89.

Bước 3: Xem lại các tùy chọn node còn lại, bao gồm cả trong nhóm nâng cao, để xác định cấu hình của bạn.
  • 'Hiển thị trong danh sách node': được đánh dấu
  • 'Cho phép các bài viết mới được đăng trong diễn đàn này': được đánh dấu
  • 'Đếm tin nhắn được đăng trong diễn đàn này theo tổng số người dùng': được đánh dấu
  • 'Bao gồm các chủ đề từ diễn đàn này khi người dùng nhấp vào "Bài viết mới"': được đánh dấu
  • - Tất cả các hộp đánh dấu khác đều không được chọn -
Bước 4: Xem lại quyền đối với node của bạn.

Lưu ý: Các quyền dưới đây thiết lập giả định rằng chỉ người kiểm duyệt/nhân viên mới tạo chủ đề cuộc thi hàng tháng và đánh dấu hình ảnh/bài đăng ảnh chiến thắng.

Ít nhất, bạn có thể muốn đảm bảo rằng nhóm người dùng đã đăng ký của bạn có ít nhất các quyền sau đây;
  • Xem node
  • Xem chủ đề của những người khác
  • Xem nội dung chủ đề
  • Bình chọn chủ đề/bài viết
  • Đăng trả lời
  • Xem tệp đính kèm của bài viết
  • Tải tệp đính kèm lên bài viết
Ngoài ra, bạn có thể xem xét xóa các quyền sau khỏi nhóm người dùng đã đăng ký;
  • Like với bài viết
  • Đăng chủ đề mới
234042-9789723c438199c91c1627794acd103b.png

Và cuối cùng, đối với quyền, hãy đảm bảo nhóm người kiểm duyệt/nhân viên của bạn có quyền
  • Đăng chủ đề mới
  • Đánh dấu bài viết là giải pháp cho bất kỳ chủ đề câu hỏi nào
Lưu ý: Sử dụng quyền Analyze (/admin.php?permissions/analyze) | Quyền của node để kiểm tra/xác nhận các quyền mong muốn của bạn được đặt chính xác. Chọn cả người dùng 'thông thường' và người kiểm duyệt/nhân viên dựa trên node Cuộc thi Ảnh/Hình Ảnh của bạn để xem quyền của họ.

Screen Shot 2020-09-08 at 14.35.31.png

Bước 5: Chỉnh sửa Template để thay đổi cách sử dụng phrase từ Giải pháp thành Người chiến thắng.

Từ Templates ( /admin.php?templates/ ), 1) chọn kiểu hoạt động cho trang web của bạn (bạn luôn nên sử dụng style con khi chỉnh sửa template),

Screen Shot 2020-09-08 at 14.42.14.png

Bước 5.1: Sửa đổi template thread_view_type_question
  • nhập 'thread_view' vào hộp bộ lọc (2)
  • nhấp vào template thread_view_type_question (3) để mở/chỉnh sửa nó
  • Cuộn xuống khoảng dòng 28 với nội dung của {{ phrase('solution') }}
  • Thay thế dòng 28 để có nội dung là <xf:if is="in_array($xf.reply.containerKey, ['node-89'])">Winner<xf:else />{{ phrase('solution') }}2</xf:if>
    • Lưu ý: Thay thế ID node-89 ở dòng trên bằng số id của node Cuộc thi Ảnh/Hình Ảnh của bạn, như đã lưu ý trong Bước 2.
Mã template của bạn bây giờ sẽ trông như thế này (nhưng với ID node của bạn):

Screen Shot 2020-09-08 at 15.12.53.png
  • Nhấp vào nút 'Lưu và thoát' ở dưới cùng để quay lại danh sách template​
Bước 5.2: Sửa đổi template post_question_macros
  • nhập 'post_question' vào hộp bộ lọc (2)
  • nhấp vào template post_question_macros (3) để mở/chỉnh sửa nó
  • cuộn xuống khoảng dòng 19 với nội dung <xf:set var="$makeSolutionText" value="{{ phrase('mark_as_solution') }}" />
  • Trên một dòng mới ngay bên dưới nó, hãy thêm đoạn code sau;
    Mã:
                            <xf:if is="in_array($xf.reply.containerKey, ['node-89'])">
                                <xf:set var="$isSolutionText" value="Unmark as Winner" />
                            <xf:else />
                                <xf:set var="$isSolutionText" value="{{ phrase('unmark_as_solution') }}" />
                            </xf:if>
                            <xf:if is="in_array($xf.reply.containerKey, ['node-89'])">
                                <xf:set var="$makeSolutionText" value="Mark as Winner" />
                            <xf:else />
                                <xf:set var="$makeSolutionText" value="{{ phrase('mark_as_solution') }}" />
                            </xf:if>
  • Lưu ý: Thay thế ID node-89 trong hai dòng trên bằng số id của node Cuộc thi Ảnh/Hình Ảnh của bạn, như đã lưu ý trong Bước 2.
234046-8257d1dd5288f5e12f78004c85c20344.png
  • Nhấp vào nút 'Lưu và thoát' ở dưới cùng để quay lại danh sách template
Đã xong!

Bây giờ, hãy tiếp tục và tạo một chủ đề trong diễn đàn Cuộc thi Ảnh của bạn, thông báo các quy tắc và chủ đề của cuộc thi, đồng thời mời người dùng đăng và tải lên/liên kết ảnh hoặc hình ảnh của họ cho cuộc thi.

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


Nguồn: xenforo.com​
 

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

XenForo 1 XenForo 2
Translate by PVS

Top Bottom