Menambahkan tautan ke halaman / admin / config [ditutup]


8

Saya belajar cara membuat modul untuk Drupal 8. Saya sudah membaca banyak tutorial dasar, tetapi saya belum melihat satu pun yang berbicara tentang menambahkan tautan ke halaman / admin / config .

Lebih khusus lagi, saya ingin menambahkan tautan di bawah area WEB SERVICES .

masukkan deskripsi gambar di sini


Mengapa ini ditutup sebagai 'tidak jelas'? Cukup jelas, dan admin penutup telah mengedit pertanyaan dan jawaban yang diterima. Apakah ini milik di sini atau tidak?
— user1359

Menjelaskan tugas dan mengatakan saya membaca banyak tutorial tanpa mengatakan apa yang disarankan oleh tutorial tersebut, dan mengapa mereka tidak bekerja untuk OP tidak mengajukan pertanyaan.
— kiamlaluno

Pertanyaan telah diedit untuk menghapus tag; jawabannya diedit untuk mengembalikan edit yang disarankan salah. Pengeditan tidak mengubah arti tulisan.
— kiamlaluno

Jawaban:


14

Anda dapat melakukan ini dengan cara yang sama seperti item menu lainnya, Anda hanya perlu memilih posisi yang tepat dalam struktur menu:

Pertama tambahkan jalur admin di mymodule.routing.yml Anda:

/admin/config/...

Kedua, letakkan item menu di mymodule.links.menu.yml dan letakkan di bawah induk kanan:

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

Untuk submenu di admin / config Anda memilih induk yang sesuai, misalnya "Regional Dan Bahasa" adalah:

parent: system.admin_config_regional

Untuk "Layanan Web":

parent: system.admin_config_services

Apakah ada cara mudah untuk menemukan nilai induk untuk menu admin tertentu? Saya telah menggali inti, tetapi mungkin sulit untuk mengetahui modul inti dari mana menu tertentu berasal.
— James Shields

Ini adalah poin yang sangat bagus dan sangat membantu! Saya ingin membuat sedikit komentar: dalam contoh Anda harus ada ":" setelah action_method_name. Berikut ini contoh yang berhasil: mymodule.action_method_name: title: 'My Title'Ceria!
— Nikolay Borisov

Saya punya pertanyaan serupa seperti James. Bagaimana cara menemukan nama induk menu?
— Pant

Anda dapat menemukannya di *.links.menu.ymlmodul sistem: cgit.drupalcode.org/drupal/tree/core/modules/system/…
— 4k4

1
@ jpt, pertanyaan awal adalah tentang "Layanan Web". Sudah jelas bahwa "Orang" berasal dari modul pengguna, tetapi jika Anda tidak tahu Anda bisa melakukan pencarian cepat di semua file * .links.menu.yml yang Anda miliki di instalasi Drupal Anda.
— 4k4

5

Sangat mudah untuk membuat tautan di bawah Layanan di /admin/config.

Pada contoh ini saya akan mengira bahwa konten pada halaman admin, yang disebut pengaturan, akan diisi oleh pengontrol di dalamnya src/Controller/MymoduleController.php

Di root modul Anda, Anda memiliki dua file, mymodule.routing.ymldan mymodule.links.menu.yml.

Di mymodule.links.menu.ymlfile Anda dapat menulis ini:

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

Dan pada saat mymodule.routing.ymlini:

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

Kemudian Anda dapat mengatur konten halaman dengan pengaturan fungsi pengontrol () Tapi itu di luar ruang lingkup pertanyaan Anda.

Semoga ini bisa membantu!


0

Saya menemukan modul ini untuk menyelesaikan kebutuhan saya dengan cara yang sangat mudah digunakan:

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

Anda dapat menemukan instruksi lengkap tentang cara mengkonfigurasinya di URL di atas.

Penggunaan Kode:

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

Di mana footer adalah argumen @Type dan merujuk ke jenis halaman konfigurasi yang Anda panggil.


Tidak bekerja Bagaimana saya bisa men-debug apa yang salah.
— Romisha Aggarwal
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.