Ergebnis 1 bis 7 von 7

Thema: BackendTemplate für eigenes ContentElement anlegen

  1. #1
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard BackendTemplate für eigenes ContentElement anlegen

    Hallo Zusammen,

    ich arbeite gerade daran, einige Elemente, die ich für Contao 4.x geschrieben habe auf die 5.x upzugraden.

    Frei nach Contao Core arbeite ich dabei nicht mehr mit generate(), compile() & Co. sondern mit getResponse() auch mit der Aussicht, die Templates, die bisher nur in PHP verfügbar sind, in Twig umzuschreiben.

    Grundsätzlich hat das Umschreiben gut geklappt, ich komme aber einfach nicht dahinter, wie ich für die Elemente eigene Backend-Templates angeben kann.

    Früher habe ich folgenderweise unterschieden:
    Code:
    if ($request && System::getContainer()->get('contao.routing.scope_matcher')->isBackendRequest($request)) {
    $this->Template = new BackendTemplate('be_example_element');
    } else {
    $this->Template = new FrontendTemplate('ce_example_element');
    }
    Aber sowie ich verstanden habe, sind die alten BackendTemplate & FrontendTemplate ja etwas anderes als FragmentTemplates, oder?

    Ich finde mich noch in die Denkweise der neuen Templates ein, daher bin ich dankbar für jede Hilfe

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.226
    Partner-ID
    10107

    Standard

    In den Twig Templates kannst du die Variable as_editor_view nutzen, um andere Ausgaben für das Backend zu machen.
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard

    Ah, also läuft das gar nicht mehr über den Controller?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.226
    Partner-ID
    10107

    Standard

    Zitat Zitat von FlorinvV Beitrag anzeigen
    Ah, also läuft das gar nicht mehr über den Controller?
    Du kannst im Controller grundsätzlich machen was du willst
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard

    Ok, also wenn ich zwei komplett unterschiedliche Templates hätte, wo sich nicht lohnt im Twig die Unterscheidung zu machen, wie könnte ich das dann im Controller angehen?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.226
    Partner-ID
    10107

    Standard

    Zitat Zitat von FlorinvV Beitrag anzeigen
    Ok, also wenn ich zwei komplett unterschiedliche Templates hätte, wo sich nicht lohnt im Twig die Unterscheidung zu machen, wie könnte ich das dann im Controller angehen?
    Ja, kannst du einfach in der getResponse() Methode abzweigen mit
    PHP-Code:
    if ($this->container->get('contao.routing.scope_matcher')->isBackendRequest($request)) {
        return 
    $this->render();

    » sponsor me via GitHub or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard

    Perfekt, danke, du hast mir super weitergeholfen

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
  •