Na stronie Drupal 8 chcę dodać pozycje menu z „bez linku”, myślałem, że nolink jest dozwolony, ale kiedy wszedłem, dostałem błąd
Ręcznie wprowadzone ścieżki powinny zaczynać się od /,? lub #.
Czy istnieje sposób dodawania elementów menu, których nie można kliknąć bez dodania „#”, ponieważ „#” dodaj atrybut [data-drupal-link-system-path = ""] i [class = "is-active"]
8
navigation
Mohamed Osama Gbril
źródło
źródło
route:<nolink>
zdecydowanie jest to odpowiedź. Działa nawet z Pathauto.Aby utworzyć pozycję menu bez łącza w niestandardowym module, dodaj do [nazwa_modułu] .links.menu.yml:
url: 'internal:##'
Musisz dodać drugi znak # (lub dowolną inną literę lub słowo
url: 'internal:#nolink'
), aby atrybut href nie stał się pusty, co spowoduje ponowne załadowanie strony, jeśli użytkownik kliknie link.źródło
i dodaj klasę lub styl dla item [a style = "pointer-events: none; kursor: default; text-decoration: none;" ...][/za]
źródło
W przypadku Drupala 8 możesz utworzyć łącze programowo, używając Link :: fromTextAndUrl, którego nie można powiązać w następujący sposób:
Opcjonalnie możesz przekonwertować go na tablicę za pomocą:
$my_link = $my_link->toRenderable();
źródło