2016-07-12 6 views
1

템플릿 제안을 추가하는 테마 추천을 지역 이름이 포함 된 테마 제안을 쓰고 싶습니다. 예를 들어, 내 '헤더 영역'에서 menu-header.html.twig 또는 내 'custom region'- menu - custom_region.html.twig와 같은 템플릿을 원합니다.검색 드루팔 (Drupal 8 지역에서 메뉴 제안 템플릿 제안

동일한 지역에 두 개의 메뉴가 있다면 하나의 템플릿으로 템플릿을 만들고 싶습니다.

나는 나의 THEMENAME.theme 파일의 기능 THEMENAME_theme_suggestions_menu_alter (배열 & $ 제안, 배열 $ 변수) {}와 그것을 시도,하지만 난이 지역을 조회 할 수있는 방법을 잘 모릅니다. 블록 변경에서, 나는 지역을 안다. 그래서 내가 메뉴를 포함하고있는 블록을 호출 할 수 있다면, 나는 그 지역도 알 수있을 것이라고 생각한다.

내 .theme 파일에서이 작업을 수행하고 싶습니다.

해결책이 있습니까?

+1

나는이 imposibble 생각합니다. THEMENAME_theme_suggestions_menu_alter (array & $ suggestions, array $ variables) 훅에서 $ 변수는 메뉴의 위치를 ​​포함하지 않습니다. 따라서 어떤 블록에 어떤 블록이 들어 있는지, 어떤 영역에 메뉴가 나타나는지 알지 못합니다. –

+2

메뉴를 여러 번 렌더링 할 수 있습니다. 예를 들어, 바닥 글, 블록 레이아웃 페이지 (구조 >> 블록 레이아웃)의 메뉴 블록을 배치 할 수 있습니다. 그런 다음 동일한 메뉴 블록을 머리글에 배치 할 수 있습니다. 따라서 동일한 메뉴가 두 개의 다른 지역에 나타나지만 theme_suggestions 훅에서는 실제 메뉴가 어디에 있는지 알 수 없습니다. –

+0

답해 주셔서 감사합니다. 나는 이것을 해결할 다른 방법을 찾으려고 노력한다. – Ann

답변

0

나는 동일한 것을 달성하려고 노력했지만 제안에 지역 이름 일 필요는 없습니다. 그것은 블록 ID 일 수 있으며 헤더 영역에 블록을 배치 할 때 해당 블록 ID를 변경할 수 있습니다.

확인이 답변 : https://drupal.stackexchange.com/a/219770/32059