Ergebnis 1 bis 2 von 2

Thema: Twig Namespaces, Twig Path, twig.yaml

  1. #1
    Contao-Fan Avatar von Monique Hahnefeld
    Registriert seit
    22.11.2011.
    Ort
    Berlin
    Beiträge
    283

    HTML Twig Namespaces, Twig Path, twig.yaml

    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);
    Geändert von Monique Hahnefeld (22.12.2024 um 22:14 Uhr) Grund: Problem gelöst
    Curiosity killed the cat

  2. #2
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.433
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich bin kein Entwickler und kann zu Deinem Code direkt nichts sagen, aber für Deine eigenen Templates im Bundle brauchst Du auf jeden Fall eine Twig Root https://docs.contao.org/dev/framewor...ure/#twig-root
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •