Saya ingin mengubah jenis menu dalam Drupal 8. Dalam Drupal 7 kita dapat mencapai ini menggunakan hook_menu_alter
function module_menu_alter(&$items) {
$items['admin/config/people/ip-blocking/default'] = array(
'title' => 'Block IP Address',
'type' => MENU_DEFAULT_LOCAL_TASK,
);
}
Demikian pula saya ingin mengubah jenis menu di Drupal 8. Bagaimana saya bisa melakukannya. Terima kasih.
Jawaban:
Meskipun jawaban dari Linus bagus, itu tidak memberikan umpan balik pada pertanyaan spesifik Anda:
Tidak ada yang namanya jenis menu di Drupal 8. Semua yang dulunya tipe sekarang menjadi hal yang sama sekali berbeda. Rute, Tautan Menu, Tugas Lokal, Tindakan Lokal. Dan seringkali, Anda memiliki banyak hal. Anda selalu memiliki rute (7.x digunakan untuk memanggil tipe panggilan balik ini). Dan tambahan, Anda menambahkan tautan menu, tugas atau tindakan lokal untuk rute itu.
Jadi, Anda tidak dapat mengonversi tautan menu ke tugas lokal misalnya, atau bahkan rute ke tugas lokal. Satu-satunya hal yang dapat Anda lakukan adalah mengubah tautan menu (yang tidak ada hubungannya dengan rute yang disebutkan di atas) dan membuat tugas lokal baru sebagai gantinya.
Lihat jawaban Linus untuk tautan dan informasi lebih lanjut tentang cara melakukan masing-masing hal itu.
sumber
Drupal 8 memiliki sistem menu baru, tidak ada
hook_menu
dan tidak adahook_menu_alter
lagi.Jika Anda ingin mengubah rute yang ada, ini sedikit lebih rumit dibandingkan dengan Drupal 7.
Dalam modul Anda, Anda harus membuat file kelas pada saat
YOURMODULE/src/Routing/CLASSNAME.php
itu meluasRouteSubscriberBase
:Anda bisa mengambil kelas RouteSubsciber dari modul simpul sebagai contoh.
Agar RouteSubscriber Anda dikenali, Anda juga harus membuat
YOURMODULE.services.yml
file di root direktori modul Anda:Untuk mendapatkan wawasan yang lebih baik tentang sistem menu baru, saya akan merekomendasikan artikel berikut:
Sunting: Seperti disebutkan oleh Berdir , sistem menu memiliki struktur yang berbeda sekarang, yang tidak ada hubungannya dengan sistem menu D7, sehingga tidak ada lagi yang namanya jenis menu.
sumber