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

kiamlaluno
sumber
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
4k4
sumber
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!

Sergio Garcia
sumber
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.

Eduardo Chongkan
sumber
Tidak bekerja Bagaimana saya bisa men-debug apa yang salah.
Romisha Aggarwal