Từ drupal.org trên / nút / 2122241:
Thay đổi liên kết menu và thêm liên kết menu động
Các mục menu được xác định tĩnh có thể được thay đổi bằng hook_menu_links_discovered_alter () (nhưng lưu ý không có hook_menu_link_discovered (), các liên kết menu được tạo từ các tệp .yml như đã giải thích ở trên). Móc này cũng có thể được sử dụng để thêm các mục menu động mới.
Thường xuyên hơn, bạn có thể muốn sử dụng một lớp deriver để thêm các plugin liên kết menu mới. Ví dụ: Liên kết trình đơn được cung cấp được thêm vào lượt xem.links.menu.yml, trong đó chỉ định lớp deriver \ Drupal \ lượt xem \ Plugin \ Derivative \ ViewsMothyLink.
Cuối cùng, bạn có thể sử dụng trình quản lý plugin trực tiếp để thêm, cập nhật và xóa định nghĩa.
Bạn có thể có thể sử dụng hook_menu_links_discovered_alter cho kịch bản của mình.
Chỉnh sửa: Bạn muốn chỉnh sửa quyền truy cập vào liên kết đó, để nó tự động không hiển thị trong menu.
Đọc trên drupal.org: / node / 2311427
Drupal 8
Trong Drupal 8, bạn có thể hỗ trợ các quyền động bằng cách tham chiếu một chức năng sẽ tự động xác định các quyền đó. Cuộc gọi lại này xác định các quyền cho mô-đun bộ lọc của lõi.
// in filter.permissions.yml
permission_callbacks:
- Drupal\filter\FilterPermissions::permissions
// in FilterPermissions.php
class FilterPermissions {
public function permissions() {
$permissions = [];
// Generate permissions for each text format. Warn the administrator that any
// of them are potentially unsafe.
/** @var \Drupal\filter\FilterFormatInterface[] $formats */
$formats = $this->entityManager->getStorage('filter_format')->loadByProperties(['status' => TRUE]);
uasort($formats, 'Drupal\Core\Config\Entity\ConfigEntityBase::sort');
foreach ($formats as $format) {
if ($permission = $format->getPermissionName()) {
$permissions[$permission] = [
'title' => $this->t('Use the @label text format', ['@url' => $format->url(), '@label' => $format->label()]),
'description' => String::placeholder($this->t('Warning: This permission may have security implications depending on how the text format is configured.')),
];
}
}
return $permissions;
}
}
Bạn cũng nên đọc bài viết này https://www.lullabot.com/articles/what-happened-to-hook_menu-in-drupal-8 (cuộn xuống "Kiểm soát truy cập" và "Hook_Miab_Alter").
Tôi hi vọng cái này giúp được.
hook_translated_menu_link_alter() has been replaced by hook_menu_link_load()
, tôi không biết nó đúng hay sai, tôi chỉ tìm thấy điều này. Có thể là bạn có thể làm cho ra. Nếu, cho tôi cũng biết.