Item Menu Tidak Dapat Diklik


21

Di situs Drupal 8, saya ingin menambahkan item menu dengan "tanpa tautan", saya berpikir bahwa nolink diperbolehkan tetapi ketika saya memasukkan ini, saya mendapat kesalahan

Jalur yang dimasukkan secara manual harus dimulai dengan /,? atau #.

Apakah ada cara untuk menambahkan item menu yang tidak dapat diklik tanpa menambahkan "#" karena "#" menambahkan atribut [data-drupal-link-system-path = ""] dan [class = "is-active"]

Jawaban:


44

Anda perlu menggunakan route:<nolink>untuk mencapai ini. Maka itu akan memvalidasi dan membuat tanpa tautan.


Terima kasih banyak, saya mencobanya dan berfungsi dengan baik, tetapi masih menambahkan atribut [data-drupal-link-system-path = "<front>"] dan [class = "is-active"]
Mohamed Osama Gbril

1
Itu adalah masalah terpisah dari apa yang Anda coba capai dan bug inti atau masalah dengan tema Anda, tetapi route:<nolink>jelas jawabannya. Ia bahkan bekerja dengan Pathauto.
Kevin

Bug kelas "is-active" telah dilaporkan di sini: drupal.org/project/drupal/issues/2838351
FiNeX

Itu berhasil untuk saya. Terima kasih atas solusi yang luas.
Murid

2

Untuk membuat item menu tanpa tautan dalam modul khusus, tambahkan ke [module_name] .links.menu.yml:

url: 'internal:##'

Anda perlu menambahkan karakter # kedua (atau huruf atau kata lain url: 'internal:#nolink') agar atribut href tidak dikosongkan, yang akan menyebabkan halaman dimuat ulang jika pengguna mengklik tautan.


Ini adalah solusi yang bagus juga. Bagi saya lebih baik daripada menghapus tautan, yang menghapus tag <a> dan item menu ini kehilangan gaya css yang sesuai.
Juanmi


0

Untuk Drupal 8 Anda dapat membuat tautan secara terprogram menggunakan Link :: fromTextAndUrl yang tidak dapat ditautkan seperti itu:

$my_link = Link::fromTextAndUrl(t('This is my link text'), Url::fromUri('route:<nolink>'));

Secara opsional, Anda dapat mengonversinya menjadi array menggunakan: $my_link = $my_link->toRenderable();

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.