Полный тестовый модуль с шаблоном, созданным на git hub, вы также можете это проверить. https://github.com/nassernak/drupal8-custom-template
Вам необходимо определить путь шаблона ветки
'path' => $path . '/templates',
'template' => 'twig-template-file-name',
$path
-> обратиться к каталогу вашего модуля
templates
-> - это папка, содержащая ваши шаблоны
template
-> просто имя файла без расширения, в моем случае без .html.twig
.
В целом, определите вашу тему какэто и установите вашу переменную в массиве переменных.
function your_module_name_theme($existing, $type, $theme, $path) {
return [
'theme_tag' => [
'variables' => [
'var2' => NULL,
'var2' => NULL,
],
'path' => $path . '/templates',
'template' => 'twig-template-file-name-without-extention',
],
];
}
Затем в вашей функции обратного вызова, которая будет ссылаться на ваш шаблон, используйте этот пример.
public function basePageCallback() {
return [
'#theme' => 'theme_tag',
'#var1' => 'test',
'#var2' => 'test2',
];
И затем получите доступ к нему по вашей ветке {{var1}}