Puncte:0

Filtrarea setului de rezultate din entity_autocomplete

drapel ml

Următorul fragment de cod se găsește în modulul „nodeaccess”. În acest moment, completarea automată vă permite să căutați orice utilizator în db. Ceea ce aș dori să fac este să returnez doar utilizatorii care au rolul A sau rolul B.

if ($user->hasPermission('acces la profiluri de utilizator')) {
  $form['keys'] = [
    '#type' => 'entity_autocomplete',
    '#default_value' => isset($form_values['keys']) ? $form_values['keys'] : '',
    '#size' => 40,
    '#target_type' => 'utilizator',
    '#title' => $this->t('Introduceți nume pentru a căuta utilizatori'),
  ];
}

am găsit acest link care pare să facă ceva similar cu ceea ce mi-aș dori, dar nu pare să funcționeze doar schimbând condiționalul. Am mers și l-am modificat astfel încât să arate așa:

funcția my_custom_module_query_alter($interogare) {
  if ($query->hasTag('acces_utilizator')) {
    $sau = db_or()->condition('user__roles.roles_target_id', 'A')- 
    >condition('user__roles.roles_target_id', 'B');
    $interogare->conditie($sau);
  }
}

Este interogarea pe care am făcut-o greșit? Sau poate că eticheta „user_access” nu se potrivește cu primul fragment de cod de mai sus? Orice îndrumare ar fi foarte apreciată.

Ah, și site-ul meu rulează pe Drupal Core 8.9.8 btw

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.