Hi,
ich möchte innerhalb einer Erweiterung ein Twig-Template rendern, doch das Template wird nicht gefunden.
Meine twig.yaml sieht so aus:
Code:
twig:
debug: '%kernel.debug%'
file_name_pattern: '*.twig'
default: '%kernel.project_dir%/src/Resources/contao/templates'
paths:
'BitsIsoProductfeed': 'BitsIsoProductfeed'
Der Pfad zu meinem Template ist "src/Resources/contao/templates/BitsIsoProductfeed"
Der Code innerhalb der Klasse sieht so aus:
Code:
$html = $twig->render('@BitsIsoProductfeed/iso_productfeed_panel.html.twig', $templateData);
In der services.yaml hab ich das hier stehen:
Code:
Bits\IsoProductfeed\Contao\DC_IsoProductfeed:
arguments:
$twig: '@twig'
Tippfehler habe ich keine. Ich weiß nicht warum das Template nicht gefunden wird. Vielleicht versteh ich auch die Logik in der twig.yaml nicht
Ich habe jetzt gemerkt das meine twig.yaml nicht geladen wird. Und der Kernel.php vielleicht auch nicht
Habe das im Kernel.php ergänzt und bekomme keine Ausgabe:
Code:
protected function configureContainer(ContainerConfigurator $container): void
{
$container->import('../config/{packages}/*.yaml');
$container->import('../config/{packages}/'.$this->environment.'/*.yaml');
// Registriere deinen benutzerdefinierten Pfad
// $container->import('Resources/config/packages/twig.yaml');
if (file_exists('../Resources/contao/config/twig.yaml')) {
echo "twig.yaml exists";
} else {
echo "twig.yaml not found";
}
exit;
}
Habe jetzt das Problem gelöst und zwar geht es so:
Code:
$html = $twig->render('@Contao/iso_productfeed_panel.html.twig', $templateData);