Điểm:0

Cách tạo chế độ xem hiển thị Người dùng đã gắn cờ VÀ bị người dùng hiện tại gắn cờ

lá cờ nl

Tôi đang cố hiển thị danh sách người dùng đã gắn cờ người dùng hiện tại và được người dùng hiện tại gắn cờ. Vì vậy, một cờ hai chiều.

Tôi đã thử sử dụng các mối quan hệ và đối số khác nhau trong các dạng xem, nhưng dường như không thể kết hợp đúng. Có mẹo nào không? Cảm ơn!

Đây là cấu hình chế độ xem của tôi từ hướng dẫn của @ pkros theo yêu cầu.

Xem Tổng quan

Xem mối quan hệ

Xem bộ lọc theo ngữ cảnh

Ngoài ra, đây là một đoạn ghi hình nhanh cho thấy sự cố đang diễn ra... https://drive.google.com/file/d/1MOXKZSq_cjPRv6moim1a5ikKeeD8mjY9/view?usp=sharing

Điểm:0
lá cờ cn

Cờ là một chiều, vì vậy bạn không thể có "gắn cờ hai chiều".

Trong Drupal 8/9, một cờ luôn có một thực thể mục tiêu.

Vì vậy, nếu người dùng A gắn cờ người dùng B và người dùng B gắn cờ người dùng A, thì bạn có hai cờ:

  • Cờ người dùng A của người dùng B
  • Cờ người dùng B của người dùng A

Tôi không thể nghĩ ra cách hay để làm điều này trong Chế độ xem mà không có mã tùy chỉnh.

Một thay thế sẽ là một cái gì đó giống như cờ bè bạn mô-đun, triển khai chức năng "kết bạn" (hoặc chức năng vuốt để khớp lẫn nhau của Tinder).

Đã triển khai chức năng như thế này trước đây trong Drupal 7, trong Drupal 8/9, tôi sẽ xem xét việc viết mã trong _flagging_insert() móc kiểm tra khi người dùng gắn cờ người dùng khác và xác định xem người dùng bị gắn cờ có gắn cờ người dùng gắn cờ hay không. Nếu vậy, hãy tạo một thực thể (có thể là một nút có tham chiếu thực thể cho cả người dùng hoặc một thực thể tùy chỉnh nếu bạn muốn ưa thích) loại bạn bè hoặc Trận đấu hoặc bất cứ điều gì, sau đó sắp xếp các trận đấu theo cách đó trong Chế độ xem. Tất nhiên, nếu người dùng có thể bỏ gắn cờ lẫn nhau và phá vỡ trận đấu, thì bạn cũng phải thêm mã để hỗ trợ trường hợp đó.

Điểm:0
lá cờ mx

Đây là cách bạn có thể làm điều này với Chế độ xem:

  1. Tạo Chế độ xem người dùng, trường tên người dùng thường đã có sẵn, bạn có thể giữ nó ngay bây giờ

  2. Thêm Mối quan hệ cờ và đặt nó thành Chỉ bao gồm nội dung được gắn cờ, tên Cờ cụ thể của bạn và Bất kỳ người dùng nào

  3. Thêm trường Tên người dùng từ gắn cờ Danh mục (không phải Danh mục người dùng)

    Bây giờ bạn sẽ thấy danh sách tất cả các "kết nối" được gắn cờ. Trường tên người dùng đang hiển thị người dùng nào đã bị gắn cờ và trường Người dùng gắn cờ đang hiển thị ai đã gắn cờ họ.

  4. Bây giờ thêm Tên người dùng Bộ lọc theo ngữ cảnh từ Người dùng Danh mục và định cấu hình nó:
    Khi giá trị bộ lọc KHÔNG khả dụng
    Cung cấp giá trị mặc định
    ID người dùng từ người dùng đã đăng nhập
    Khi giá trị bộ lọc IS khả dụng hoặc giá trị mặc định được cung cấp
    Chỉ định tiêu chí xác nhận
    Tên người dùng
    ID duy nhất
    Điều chỉnh tất cả các tùy chọn khác theo nhu cầu của bạn.

    Điều này chỉ hiển thị các "kết nối" được thực hiện đối với người dùng hiện tại.

  5. Xóa trường tên người dùng vì bạn không cần nó nữa vì nó luôn hiển thị người dùng hiện tại.

Phần còn lại là trường người dùng từ Ngữ cảnh gắn cờ hiển thị ai đã gắn cờ người dùng hiện tại, đồng thời người dùng đó đã bị người dùng hiện tại gắn cờ.

lá cờ nl
Tôi đã thực hiện các bước của bạn nhưng đầu ra danh sách chỉ hiển thị Người dùng đã gắn cờ Người dùng hiện tại (Ngay cả khi người dùng hiện tại không gắn cờ họ). Tự hỏi nếu không có một bước chúng tôi đang bỏ lỡ?
lá cờ mx
Bạn có chắc mình đã thiết lập Mối quan hệ chính xác không? Với "Bất kỳ người dùng nào"?
lá cờ nl
Vâng, nó được thiết lập theo cách đó. Nếu tôi có Người dùng hiện tại bỏ gắn cờ Người dùng đã gắn cờ Người dùng hiện tại... thì Người dùng đó vẫn hiển thị trong kết quả dạng xem ở trên. Bạn đã kiểm tra nó?
lá cờ mx
Vâng, tôi có một ví dụ đã hoạt động, tôi đã viết câu trả lời dựa trên nó.
lá cờ mx
Bạn có thể thêm cấu hình trong câu hỏi để tôi có thể thấy có thể tôi có thể phát hiện ra sự khác biệt không?
lá cờ nl
Xin chào @pkros, tôi đã bao gồm cấu hình chế độ xem của mình trong câu hỏi. Tôi thậm chí đã thử cài đặt Drupal hoàn toàn mới với hướng dẫn của bạn. Vẫn chạy vào vấn đề được đề cập ở trên. Chỉ hiển thị những người dùng đã gắn cờ người dùng hiện tại. Không quan trọng người dùng hiện tại đã gắn cờ. Có thêm lời khuyên nào không? Cảm ơn!
lá cờ mx
Bạn có thể bao gồm ảnh chụp màn hình cấu hình Chế độ xem của mình không? Xuất thô không dễ đọc và tôi không thể nhập nó vì nó phụ thuộc vào cấu trúc cụ thể của bạn bên ngoài Chế độ xem. Giảm cửa sổ và tăng phông chữ nếu cần thiết khi chụp ảnh màn hình để dễ đọc hơn và tránh nhiều khoảng trống.
lá cờ nl
Được rồi, ảnh chụp màn hình đã được thêm vào. Cũng bao gồm một video ngắn để hiển thị người dùng hiện tại bỏ gắn cờ người dùng có liên quan và đầu ra không thay đổi. Cảm ơn!
lá cờ nl
@pkros Bạn có phản hồi gì thêm không? Đánh giá cao sự giúp đỡ của bạn.
lá cờ mx
Ah nó rơi qua kẽ hở, tôi sẽ cố gắng siết chặt nó trong tuần này
lá cờ nl
@pkros, chỉ muốn theo dõi, nếu bạn có thêm lời khuyên nào. Thật là một vấn đề khó chịu đối với tôi :). Cảm ơn!
lá cờ mx
Tôi đang nâng cấp lên D9 và vẫn còn một số cách, sau đó tôi cần tìm hiểu ví dụ để tôi có thể so sánh với ví dụ của bạn. Tôi không thể tìm thấy nó ATM, nó phải được dự phòng. Tôi sẽ tìm nó vào ngày mai.
lá cờ nl
Chúc may mắn trên các bản cập nhật D9. Cảm ơn một lần nữa!
lá cờ mx
Tôi đã tìm thấy ví dụ của mình và có vẻ như nó không hoạt động như tôi mong đợi. Có lẽ tôi có sự kết hợp của việc theo dõi lẫn nhau thông qua các cờ khiến tôi nghĩ rằng nó đang hiển thị chính xác. Bây giờ khi tôi nghĩ về nó, thật kỳ lạ khi tôi nghĩ rằng nó đang hoạt động, không có chỗ nào so sánh/khớp hai hướng gắn cờ. Tôi nghĩ rằng nó có thể được giải quyết với sự trợ giúp của Chế độ xem Trường Chế độ xem, vì mô-đun này cho phép các truy vấn lồng nhau, nhưng tôi chưa thử, tôi đã làm hỏng trang web đang cố nâng cấp trình soạn thảo...
lá cờ mx
Bạn sử dụng chế độ xem hiện tại làm cơ sở. Bạn tạo một màn hình mới để sử dụng làm trường Chế độ xem, xây dựng nó giống như các chế độ xem hiện có, chỉ có thể cần điều chỉnh bộ lọc theo ngữ cảnh. Tôi nghĩ bạn có thể kiểm soát hàng xuất hiện bằng bộ lọc theo ngữ cảnh trong trường được nhúng để loại trừ những người không có cờ đi theo hướng ngược lại. Hoặc bạn có thể cần Viết lại một trường trong dạng xem cơ sở để loại trừ chúng nếu trường được nhúng trống, đại loại như vậy. Nếu tôi sớm sửa trang web của mình, tôi sẽ dùng thử và đăng câu trả lời khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.