Thêm liên kết đến trang / admin / config [đã đóng]


8

Tôi đang tìm hiểu cách tạo mô-đun cho Drupal 8. Tôi đã đọc nhiều hướng dẫn cơ bản, nhưng tôi chưa thấy một bài nào nói về việc thêm một liên kết đến trang / admin / config .

Cụ thể hơn, tôi muốn thêm liên kết trong khu vực DỊCH VỤ WEB .

nhập mô tả hình ảnh ở đây


Tại sao điều này được đóng lại là 'không rõ ràng'? Nó khá rõ ràng và quản trị viên đóng đã chỉnh sửa cả câu hỏi và câu trả lời được chấp nhận. Cái này có thuộc về nơi này hay không?
dùng1359

Mô tả một nhiệm vụ và nói rằng tôi đã đọc nhiều hướng dẫn mà không nói những gì các hướng dẫn đó gợi ý, và tại sao họ không làm việc cho OP không hỏi một câu hỏi.
kiamlaluno

Câu hỏi đã được chỉnh sửa để xóa một thẻ; câu trả lời đã được chỉnh sửa để hoàn nguyên một chỉnh sửa được đề xuất sai. Các chỉnh sửa không thay đổi ý nghĩa của bài viết.
kiamlaluno

Câu trả lời:


14

Bạn có thể làm điều này giống như bất kỳ mục menu nào khác, bạn chỉ phải chọn đúng vị trí trong cấu trúc menu:

Trước tiên, thêm đường dẫn quản trị viên trong mymodule.routing.yml:

/admin/config/...

Thứ hai đặt mục menu vào mymodule.links.menu.yml và đặt nó bên dưới cha mẹ bên phải:

mymodule.action_method_name:
  title: 'My Title'
  description: 'My Description'
  parent: system.admin_config
  route_name: 'mymodule.action_method_name'

Đối với các menu con trong admin / config, bạn chọn cha mẹ tương ứng, ví dụ "Vùng và ngôn ngữ" là:

parent: system.admin_config_regional

Đối với "Dịch vụ web":

parent: system.admin_config_services

Có cách nào dễ dàng để tìm giá trị cha cho menu quản trị cụ thể không? Tôi đã đào sâu vào lõi, nhưng thật khó để tìm ra mô-đun lõi mà một menu cụ thể đến từ đâu.
James Shields

Đó là một điểm rất tốt và rất hữu ích! Tôi muốn đưa ra một nhận xét nhỏ: trong ví dụ của bạn nên có ":" sau action_method_name. Đây là một ví dụ hoạt động: mymodule.action_method_name: title: 'My Title'Chúc mừng!
Nikolay Borisov

Tôi có câu hỏi tương tự như James. Làm thế nào để tôi tìm thấy tên cha mẹ của menu?
Quần

Bạn có thể tìm thấy chúng trong *.links.menu.ymlmô-đun hệ thống: cgit.drupalcode.org/drupal/tree/core/modules/system/ Kẻ
4k4

Hey @ 4k4 có thể xác định một nhóm cha tùy chỉnh hoặc bạn phải chọn một nhóm hiện có?
Tim

5

Rất đơn giản để tạo một liên kết trong Dịch vụ tại /admin/config.

Trong ví dụ này, tôi sẽ tiết lộ rằng nội dung trên trang quản trị, được gọi là cài đặt, sẽ được lấp đầy bởi một bộ điều khiển bên trong src/Controller/MymoduleController.php

Trên thư mục gốc của mô-đun, bạn có hai tệp mymodule.routing.ymlmymodule.links.menu.yml.

Tại mymodule.links.menu.ymltập tin bạn có thể viết này:

mymodule.settings:
  title: 'My module settings page'
  parent: system.admin_config_services
  description: 'Admin settings page link'
  route_name: mymodule.settings

Và tại mymodule.routing.ymlđây:

mymodule.settings:
  path: '/admin/config/services/mymodule'
  defaults:
    _controller: '\Drupal\quotesapi\Controller\MymoduleController::settings'
    _title: 'My module settings'
  requirements:
    _permission: 'administer site configuration'

Sau đó, bạn có thể đặt nội dung của trang bằng cài đặt chức năng của bộ điều khiển () Nhưng điều đó nằm ngoài phạm vi câu hỏi của bạn.

Hy vọng nó giúp!


0

Tôi tìm thấy mô-đun này để giải quyết nhu cầu của mình theo cách rất dễ sử dụng:

https://www.drupal.org/project/config_pages

Bạn có thể tìm thấy hướng dẫn đầy đủ về cách định cấu hình nó trong URL trên.

Sử dụng mã:

<?php print config_pages_get('footer', 'field_footer_copyright'); ?>

Trong đó chân trang là đối số @Type và đề cập đến loại trang cấu hình bạn đang gọi.


Không làm việc. Làm thế nào tôi có thể gỡ lỗi những gì sai.
Romisha Aggarwal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.