Puncte:1

Încărcați dinamic elementele de meniu create din fișierul links.task.yml

drapel cn

Trebuie să încarc în mod programatic linkurile care sunt generate de my_module.links.task.yml pe altă pagină.

Cazul meu de utilizare exact este că am un set de link-uri care sunt afișate când îmi vizualizez pagina nodului. Legăturile vor fi afișate și ascunse în funcție de accesul utilizatorului curent, iar controlul accesului este gestionat prin opțiunile din fișierul my_module.routing.yml.

Trebuie să creez o pagină separată care să afișeze datele nodurilor într-un tabel și trebuie să arăt aceste linkuri într-o opțiune derulantă (similar cu modul în care funcționează butonul de editare când vizualizez conținutul ca administrator).

Există o modalitate de a obține în mod dinamic linkurile, astfel încât să le pot afișa apoi în meniul drop-down?

Puncte:1
drapel in

Puteți încărca toate link-uri de meniu definite de modul (adică link-uri definite în *.menu.linkuri.yml cu MenuLinkManager Servicii getDefinitions() metoda și apoi analizați lista numai pentru legăturile definite de modulul dvs.

$all_module_link_definitions = \Drupal::service('plugin.manager.menu.link')
  ->getDefinitions();

// În continuare, analizați lista numai pentru link-urile definite de my_module.
$my_module_link_definitions = [];
foreach ($all_module_link_definitions ca $plugin_id => $plugin_definition) {
  if ($plugin_definition['furnizor'] === 'MY_MODULE') {
    $my_module_link_definitions[$plugin_id] => $plugin_definition;
  }
}

În mod similar, puteți încărca toate modulul a definit sarcini locale cu LocalTaskManager Servicii getDefintions() metoda și apoi analizați lista numai pentru sarcinile definite de modulul dvs.

$all_module_task_definitions = \Drupal::service('plugin.manager.menu.local_task')
  ->getDefinitions();

// În continuare, analizați lista numai pentru sarcinile definite de my_module.
$my_module_task_definitions = [];
foreach ($all_module_task_definitions ca $plugin_id => $plugin_definition) {
  if ($plugin_definition['furnizor'] === 'MY_MODULE') {
    $my_module_task_definitions[$plugin_id] => $plugin_definition;
  }
}

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.