page.html.twig 템플릿에서 뷰 블록을 렌더링해야합니다. D7에서는 다음과 같이합니다.
<?php
$block = module_invoke('module_name', 'block_view', 'block_delta');
print render($block['content']);
?>
Drupal 8에서 module_invoke는 더 이상 사용되지 않으며 이것을 사용하는 것이 좋습니다. (블록 이름을 두 번째 매개 변수로 추가했습니다)
Drupal::moduleHandler()->invoke($block, 'views_block__blog_block_1', $args = array());
몇 가지 시도했습니다. 먼저 나뭇 가지 템플릿으로 시도했지만 나뭇 가지 템플릿에서 PHP 함수를 호출하는 방법을 모르므로 너무 좋지 않았습니다.
그런 다음 .theme 파일의 preprocess_page () 함수에서 함수를 호출했지만 작동하기 전에 나뭇 가지 템플릿 내에서 변수 작업을 시도하여 작동하지 않는 간단한 작업을 시도했습니다. 예 :
.theme 파일의 template_preprocess_page (& $ vars) 함수에서 :
$test = 'Hello World';
$vars['$my_var'] = $test;
나뭇 가지 템플릿 내에서 my_var를 호출하려고했지만 작동하지 않고 "사이트에 오류가 있습니다. 관리자에게 문의하십시오"라는 오류 메시지가 나타납니다.
요약하면 다음과 같습니다.
- 잔가지 템플릿 내에서 변수를 사용할 수있게하려면 어떻게해야합니까?
- 잔가지 템플릿 내에서 함수를 어떻게 호출합니까?
- .theme 파일 또는 나뭇 가지 템플릿 안에 블록을 렌더링합니까?