Tıklanmayan Menü Öğeleri


21

Drupal 8 sitesinde "linksiz" menü öğelerini eklemek istiyorum, nolink'e izin verildiğini düşünüyordum ama girdiğimde hata yaptım

Manuel olarak girilen yollar / ile başlamalı mı? veya #.

"#", "#", [Data-drupal-link-system-path = ""] ve [class = "is aktif"] özniteliği eklediğinden tıklanamayan menü öğeleri eklemek için bir yol var mı?

Yanıtlar:


44

Bunu route:<nolink>başarmak için kullanmanız gerekir . Sonra bir bağlantı olmadan doğrulamak ve render olacaktır.


Çok teşekkürler, denedim ve iyi çalışıyor, ancak yine de [data-drupal-link-system-path = "<front>"] ve [class = "is-active"]
özniteliklerini ekleyerek

1
Bu, elde etmeye çalıştığınız şeyden ayrı bir konudur ve temanızla ilgili temel bir hata veya problemdir, ancak route:<nolink>kesinlikle cevaptır. Pathauto ile bile çalışıyor.
Kevin,

"Etkin" sınıf hatası burada bildirildi: drupal.org/project/drupal/issues/2838351
FiNeX

Benim için çalıştı. Bilgili bir çözüm için teşekkür ederiz.
Öğrenci

2

Özel bir modülde bağlantı olmadan bir menü öğesi oluşturmak için [module_name] .links.menu.yml dosyasına ekleyin:

url: 'internal:##'

url: 'internal:#nolink'Href özniteliğinin boş bırakılmaması için ikinci bir # karakteri (veya başka bir harf veya kelime ) eklemeniz gerekir , bu durumda kullanıcı bağlantıyı tıklatırsa sayfanın yeniden yüklenmesine neden olur.


Bu da iyi bir çözüm. Benim için bağlantıyı kaldırmaktan daha iyiyim, <a> etiketini kaldırır ve sonra bu menü maddesi karşılık gelen css stillerini kaybeder.
Juanmi


0

Drupal 8 için, linkatik olarak Link :: fromTextAndUrl kullanarak programatik olarak bir link oluşturabilirsiniz:

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

İsteğe bağlı olarak, aşağıdakileri kullanarak bir diziye dönüştürebilirsiniz: $my_link = $my_link->toRenderable();

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.