드루팔 (Drupal)에 익숙하지 않아 menu.html.twig
템플릿에 사용할 도메인 URL을 전달하고 싶습니다. 어떻게해야합니까? 사실 나는 모두 동일한 Drupal 인스턴스를 가리키는 5 개의 도메인 메뉴를 가지고 있습니다. 도메인 이름을 기반으로 메뉴를 활성화하고 싶습니다.드루팔 (Drupal 8) 메뉴 나뭇 가지 템플릿에 값을 전달하는 방법
감사
드루팔 (Drupal)에 익숙하지 않아 menu.html.twig
템플릿에 사용할 도메인 URL을 전달하고 싶습니다. 어떻게해야합니까? 사실 나는 모두 동일한 Drupal 인스턴스를 가리키는 5 개의 도메인 메뉴를 가지고 있습니다. 도메인 이름을 기반으로 메뉴를 활성화하고 싶습니다.드루팔 (Drupal 8) 메뉴 나뭇 가지 템플릿에 값을 전달하는 방법
감사
OP가 Drupal에 익숙하지 않아서 Artreaktors의 답변이 확장되었습니다.
원하는 이름으로 모듈을 생성하십시오. 이것에 대한 도움이 필요하면 Drupal Console을보십시오. 그러면 도움이 될 것입니다.
모듈의 폴더 안에는 module_name.module 파일이 있습니다.
은 여기 Artreaktor에 의해 주어진 코드를 추가합니다 : 여기
function mymodule_preprocess_menu(&$vars) {
$domain = \Drupal::service('domain.negotiator')->getActiveDomain();
$vars['domain'] = $domain->getUrl();
}
인 MyModule은 모듈의 이름을 나타냅니다. 모듈을 활성화하고 캐시를 지우는 것을 잊지 마십시오!
당신은 hook_preprocess_hook에서 그것을 할 수 있습니다 (& $가 바르).
function mymodule_preprocess_menu(&$vars) {
$domain = \Drupal::service('domain.negotiator')->getActiveDomain();
$vars['domain'] = $domain->getUrl();
}
이제 나뭇 가지에 {{domain}} 변수를 사용할 수 있습니다.
안녕하세요. 지원해 주셔서 감사합니다. 나는 Drupal 코드에 익숙하지 않다.이 함수를 내 theme.inc 파일에 추가 할 수 있는가 ....? – user739350
이 코드는 사용자 정의 테마 (mytheme.theme) 또는 모듈 (mymodule.module) 파일에서 사용하십시오. "mymodule"을 테마 나 모듈의 실제 이름으로 바꿔야합니다. –