Puncte:0

Trimiteți un mesaj utilizatorilor cu un anumit câmp activat cu Modulul de mesaje

drapel ru

Aș dori să trimit/afișez un mesaj într-o vizualizare bloc pe profilul utilizatorului atunci când este creat un nod de tip de conținut, dar numai dacă acel utilizator are un anumit câmp personalizat activat în profilul său.

Am creat șablonul de mesaj și am folosit hook_node_insert() pentru a trimite un mesaj, dar problema este că trimite acest mesaj tuturor utilizatorilor dacă eu (ca utilizator admin) am câmpul personalizat activat sau nu dacă îl am dezactivat.

Cârligul meu arată așa:

function notification_node_insert($nod) {
  $ids = \Drupal::entityQuery('utilizator')
    ->condition('field_notify_me_about_new_events', '1')
    ->execute();

  $users = Utilizator::loadMultiple($ids);
  foreach ($users ca $user) {
    $message = Message::create(['template' => 'new_event', 'uid' => $node->getOwnerId()]);
    $message->set("field_node_ref", 'uid');
    $mesaj->salvare();
  }
}

Problema cu codul meu este, de asemenea, că blocul afișează mai multe mesaje identice (câte unul pentru fiecare iterație).

Cum aș putea să fac ca numai utilizatorii cu câmpul personalizat activat să primească mesajul?

Jaypan avatar
drapel de
Deci doriți să afișați mesajul utilizatorului curent doar dacă are acel câmp activat?
leymannx avatar
drapel ne
Curios dacă poate este mai bine să faci logica mesajului cu API-ul Queue. Adică, în funcție de câți utilizatori vă așteptați să treceți mai târziu, desigur.
Bass-Ninja avatar
drapel ru
@Jaypan, da. Mesajul trebuie afișat numai celor care au câmpul activat.
Jaypan avatar
drapel de
Utilizatorul actual sau toți utilizatorii cu câmpul activat? Acestea sunt lucruri diferite.
Bass-Ninja avatar
drapel ru
@Jaypan Toți utilizatorii cu câmpul activat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.