it-swarm.com.de

Wie rendere ich eine Vorlage in einer Modulsteuerung?

Ich möchte eine benutzerdefinierte Vorlage in einem Modul-Controller rendern, weiß aber nicht wie. Wie erreiche ich das?

3
Lhassan Baazzi

Sie müssen Drupal über das Thema informieren, und dann können Sie es im Controller-Code nutzen. Die Vorlage muss sich im Ordner my_module/templates befinden.

my_module.module

function my_module_theme() {
  $theme['template_name'] = [
    'render element' => 'build',
    'template' => 'template_file_name',//This is only needed if you need a different template file name than the array key above, 'template_name'.
  ];

  //override existing template for this module
  $theme['html__my_module__template_file_name'] = [
    'template' => 'html--my_module--template_file_name',
  ];
  return $theme;
}

src/Controller/MyModuleController.php

public function index() {
  $build['#theme'] = 'template_name';
  //populate your build renderable array..
  return $build;
}
6
EmGee