Điểm:0

Gửi tin nhắn cho người dùng với trường nhất định được bật bằng Mô-đun tin nhắn

lá cờ ru

Tôi muốn gửi/hiển thị một tin nhắn trong chế độ xem khối trên hồ sơ người dùng khi một số nút loại nội dung được tạo, nhưng chỉ khi người dùng đó đã bật một trường tùy chỉnh nhất định trên hồ sơ của họ.

Tôi đã tạo mẫu tin nhắn và sử dụng hook_node_insert() để gửi tin nhắn nhưng vấn đề là nó sẽ gửi tin nhắn này cho tất cả người dùng nếu tôi (với tư cách là người dùng quản trị) đã bật hoặc không bật trường tùy chỉnh nếu tôi đã tắt nó.

Móc của tôi trông như thế này:

hàm notification_node_insert($node) {
  $ids = \Drupal::entityQuery('người dùng')
    ->điều kiện('trường_notify_me_about_new_events', '1')
    ->thực thi();

  $users = Người dùng::loadMultiple($ids);
  foreach ($user là $user) {
    $message = Message::create(['template' => 'new_event', 'uid' => $node->getOwnerId()]);
    $message->set("field_node_ref", 'uid');
    $message->save();
  }
}

Vấn đề với mã của tôi cũng là khối hiển thị nhiều thông báo giống hệt nhau (một thông báo cho mỗi lần lặp lại).

Làm cách nào để tôi có thể đạt được rằng chỉ những người dùng đã bật trường tùy chỉnh mới nhận được thông báo?

Jaypan avatar
lá cờ de
Vì vậy, bạn chỉ muốn hiển thị thông báo cho người dùng hiện tại nếu họ đã bật trường đó?
leymannx avatar
lá cờ ne
Tò mò nếu có thể tốt hơn để thực hiện logic thông báo với API hàng đợi. Tất nhiên, ý tôi là tùy thuộc vào số lượng người dùng mà bạn muốn lặp lại sau này.
Bass-Ninja avatar
lá cờ ru
@Jaypan vâng tôi làm. Thông báo chỉ nên được hiển thị cho những người đã bật trường này.
Jaypan avatar
lá cờ de
Người dùng hiện tại hoặc tất cả người dùng có trường được bật? Đây là những thứ khác nhau.
Bass-Ninja avatar
lá cờ ru
@Jaypan Tất cả người dùng đã bật trường này.

Đă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.