Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: Mehrere Layouts pro Seite verwenden

  1. #1
    Contao-Nutzer
    Registriert seit
    09.03.2020.
    Beiträge
    32

    Standard Mehrere Layouts pro Seite verwenden

    Guten Tag,

    ich habe für mein Theme 2 Layouts erstellt ("Global" und "Leistungen"). Das Global Layout soll immer allen Seiten zugewiesen werden. Das Layout enthält alle gobalen CSS/JS - Dateien und bindet ebenfalls ein Frontend-Modul "Header" in die Kopfzeile ein, damit der Header auf allen Seiten gleich ist.

    Um jedoch auch noch seitenspezifische CSS/JS-Dateien zu hinterlegen, erstelle ich ein weiteres Layout für die einzelnen Seiten (in diesem Fall bisher nur "Leistungen").

    Ich habe aber festgelegt, dass ich nur ein Layout pro Seite zuweisen kann. Gibt es da irgendeinen Workaround oder muss ich letzendlich für jedes Layout auch immer noch meine globalen CSS/JS/Module usw... aber auch meine seitenspezifischen CSS/JS/Module usw ... einfügen?

  2. #2
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Ahoi,

    schau Dir mal richardhj/contao-childlayouts an.
    https://packagist.org/packages/richa...o-childlayouts

    Grüße,
    Stefko
    Grüße, Stefko

  3. #3
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    793
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst festlegen welche Dateien im jeweiligen Layout geladen werden. Dieses dann der entsprechenden Seite zuweisen.

  4. #4
    Contao-Nutzer
    Registriert seit
    09.03.2020.
    Beiträge
    32

    Standard

    Zitat Zitat von Ainschy Beitrag anzeigen
    Du kannst festlegen welche Dateien im jeweiligen Layout geladen werden. Dieses dann der entsprechenden Seite zuweisen.
    Das ist mir bewusst.
    Aktuell hab ich ein globales Layout, welches alle globalen Dateien (JS,CSS) lädt.
    Jedoch auch ein seitenspezifisches Layout (Startseite, Unternehmen, Leistungen, Kontakt,....) welches alle Dateien lädt, die NUR zu dieser Seite gehören.

    Und ich möchte es kombinieren, dass sowohl alle globalen Dateien, aber auch alle seitenspezifischen Dateien geladen werden.

    Mir ist bewusst, dass ich es lösen könnte, indem ich kein globales Layout verwende, sondern für jede Seite einzelend nochmal zusätzlich meine globalen JS/CSS-Dateien hinzufügen, jedoch bin ich auf der Suche nach einem Workaround weil der Ansatz mir doch ein bisschen zu banal vorkommt.

    Grüße

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

    Standard

    Der reguläre Weg ist, dass du mehrere Seitenlayouts anlegst und dann dort festlegst, was alles geladen werden soll. Es gibt aber Mittel & Wege, wie du dir das besser organisieren kannst. Was für dich die beste Lösung ist, kommt darauf an, was genau du machen willst.

    • Stefko hat bspw. schon die Child Layouts Extension erwähnt, da könntest du dein aktuelles Konzept weiter verwenden.
    • Es gibt auch Extensions, mit denen du CSS & JavaScript Ressourcen pro Seite in der Seitenstruktur festlegen kannst.
    • Falls deine CSS & JavaScript Ressourcen jedoch Abhängigkeiten für Inhaltselemente oder Module sind, dann solltest du das CSS & JavaScript lieber dort über das $GLOBALS Array einbinden lassen. Also entweder $GLOBALS['TL_CSS'] (CSS Referenz im <head>), $GLOBALS['TL_JAVASCRIPT'] (JavaScript Referenz im <head>) oder $GLOBALS['TL_BODY'] (beliebige Ausgabe am Ende des <body>).

  6. #6
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    793
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von JLN Beitrag anzeigen
    Mir ist bewusst, dass ich es lösen könnte, indem ich kein globales Layout verwende, sondern für jede Seite einzelend nochmal zusätzlich meine globalen JS/CSS-Dateien hinzufügen, jedoch bin ich auf der Suche nach einem Workaround weil der Ansatz mir doch ein bisschen zu banal vorkommt.
    Jede Seite ein eigenes Layout, oder ein globales Layout für die allgemeinen CSS / JS Definitionen und die spezifischen Dateien über

    Code:
    {{file::PHPDATEI.hmtl5}}
    in den Header etc. schreiben lassen.

    EDIT: oder so wie es Spooky schreibt, die file-Datei kann die Anweisungen für die GLOBALS enthalten.

  7. #7
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Vielleicht hilft dir dieses Bundle bei der Lösung…?
    https://github.com/trilobit-gmbh/con...tercode-bundle
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  8. #8
    Contao-Nutzer
    Registriert seit
    09.03.2020.
    Beiträge
    32

    Standard

    Danke für eure Hilfe!

  9. #9
    Contao-Nutzer
    Registriert seit
    09.03.2020.
    Beiträge
    32

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    • Es gibt auch Extensions, mit denen du CSS & JavaScript Ressourcen pro Seite in der Seitenstruktur festlegen kannst.
    Welche wären dies z.B.?

  10. #10
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von JLN Beitrag anzeigen
    Welche wären dies z.B.?
    Siehe oben:
    Zitat Zitat von planepix Beitrag anzeigen
    Vielleicht hilft dir dieses Bundle bei der Lösung…?
    https://github.com/trilobit-gmbh/con...tercode-bundle
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.681
    User beschenken
    Wunschliste

    Standard

    merger² https://github.com/contao-community-...%C3%9Cbersicht

    damit kannst Du z.B. regeln aufstellen, wann welche FE-Module wann geladen werden sollen - typisches Beispiel ist verschiedene Module, die mehrsprachig angelegt worden sind, nur in ein Layout zu bringen statt für jede Sprache eigenes Layout

  12. #12
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Zitat Zitat von Stefko Beitrag anzeigen
    Ahoi,

    schau Dir mal richardhj/contao-childlayouts an.
    https://packagist.org/packages/richa...o-childlayouts

    Grüße,
    Stefko
    Das ist leider in den aktuellen Version buggy. Vermutlich in Verbindung mit Bootstrap. Hier werden beim Speichern die Daten in den Childlayouts gelöscht und ist damit mit Vorsicht zu genießen. Schade eigentlich denn das Modul ist eigentlich richtig richtig praktisch.

    https://github.com/richardhj/contao-...outs/issues/11

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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