클릭 할 수없는 메뉴 항목


21

Drupal 8 사이트에서 "링크 없음"으로 메뉴 항목을 추가하고 싶습니다. 링크가 허용되지 않는다고 생각했지만 입력하면 오류가 발생했습니다.

수동으로 입력 한 경로는 /,?로 시작해야합니다. 또는 #.

"#"속성 추가 [data-drupal-link-system-path = ""] 및 [class = "is-active"] 때문에 "#"을 추가하지 않고 클릭 할 수없는 메뉴 항목을 추가하는 방법이 있습니까?

답변:


44

route:<nolink>이를 달성하기 위해 사용해야 합니다. 그런 다음 링크없이 확인하고 렌더링합니다.


정말 고마워, 나는 그것을 시도하고 잘 작동하지만 여전히 [data-drupal-link-system-path = "<front>"] 및 [class = "is-active"] 속성을 추가합니다
Mohamed Osama Gbril

1
그것은 달성하려는 것과는 별개의 문제이며 핵심 버그 또는 테마 문제이지만 route:<nolink>분명히 답입니다. Pathauto 와도 작동합니다.
케빈

"is-active"클래스 버그가 여기에보고되었습니다 : drupal.org/project/drupal/issues/2838351
FiNeX

그것은 나를 위해 일했다. 지식이 풍부한 솔루션에 감사드립니다.
학생

2

사용자 정의 모듈에서 링크없이 메뉴 항목을 만들려면 [module_name] .links.menu.yml에 추가하십시오.

url: 'internal:##'

url: 'internal:#nolink'href 속성을 비우려면 두 번째 # 문자 (또는 다른 문자 또는 단어 ) 를 추가해야 합니다.이 경우 사용자가 링크를 클릭하면 페이지가 다시로드됩니다.


이것은 또한 좋은 해결책입니다. 링크를 제거하는 것보다 나에게 <a> 태그를 제거한 다음이 메뉴 항목은 해당 CSS 스타일을 잃어 버립니다.
Juanmi


0

Drupal 8의 경우 Link :: fromTextAndUrl을 사용하여 프로그래밍 방식으로 링크를 만들 수 있습니다.

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

선택적으로 다음을 사용하여 배열로 변환 할 수 있습니다. $my_link = $my_link->toRenderable();

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.