bạn có thể tải tất cả các các liên kết menu được xác định theo mô-đun (tức là các liên kết được xác định trong *.menu.links.yml với Trình đơnTrình quản lý liên kết dịch vụ getDefinition()
và sau đó phân tích cú pháp danh sách chỉ cho các liên kết được mô-đun của bạn xác định.
$all_module_link_definitions = \Drupal::service('plugin.manager.menu.link')
->getDefinitions();
// Tiếp theo phân tích danh sách chỉ các liên kết được xác định bởi my_module.
$my_module_link_definitions = [];
foreach ($all_module_link_definitions as $plugin_id => $plugin_definition) {
if ($plugin_definition['provider'] === 'MY_MODULE') {
$my_module_link_definitions[$plugin_id] => $plugin_definition;
}
}
Tương tự, bạn có thể tải tất cả các mô-đun xác định nhiệm vụ địa phương với Trình quản lý tác vụ cục bộ dịch vụ getDefinions()
và sau đó phân tích cú pháp danh sách chỉ cho các tác vụ được mô-đun của bạn xác định.
$all_module_task_definitions = \Drupal::service('plugin.manager.menu.local_task')
->getDefinitions();
// Tiếp theo phân tích danh sách chỉ cho các tác vụ được xác định bởi my_module.
$my_module_task_definitions = [];
foreach ($all_module_task_definitions as $plugin_id => $plugin_definition) {
if ($plugin_definition['provider'] === 'MY_MODULE') {
$my_module_task_definitions[$plugin_id] => $plugin_definition;
}
}