Ergebnis 1 bis 9 von 9

Thema: Unterschied Layout und Template / Wie Template oder Layout einer Seite zuweisen

  1. #1
    Contao-Nutzer
    Registriert seit
    24.11.2017.
    Beiträge
    61

    Standard Unterschied Layout und Template / Wie Template oder Layout einer Seite zuweisen

    Hallo,

    ich verstehe auch nach längerer Nutzung von Contao immer noch nicht, was der Unterschied zwischen einem Layout und einem Template ist.

    Soviel ich weiß, beinhaltet ein Theme die Gesamtheit des Aussehens incl. CSS. Ich habe gelesen, dass ein Template das Aussehen einer Seite bestimmt, aber was ist dann ein Layout? Wo sehe ich, welches Template/Layout einer Seite zugewiesen ist? Hat ein Theme ein Default-Template/Layout?

    Kann ich einer einzelnen Seite einer Homepage durch ein separates Template/Layout eine andere Struktur als den anderen Seiten geben? Falls ja, wo ändere ich das Template/Layout und wie weise ich das der Seite zu?

    Ich weiß, das sind Grundlagenfragen, aber alle Infos, die ich mir erlesen habe, haben mich da nicht weiter gebracht.

    Grüße

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

    Standard

    Zitat Zitat von Hardworker Beitrag anzeigen
    Soviel ich weiß, beinhaltet ein Theme die Gesamtheit des Aussehens incl. CSS.
    Im Prinzip ja.
    Du hast min ein Theme. Dieses besteht wieder aus min. einem Seitenlayout (meist mehr) und dieses gibt wieder n*Templates aus.

    Ich habe gelesen, dass ein Template das Aussehen einer Seite bestimmt, aber was ist dann ein Layout?
    Vorsicht, mir scheint hier wird Site (die komplette Website) und Seite (eine einzelne Seite) durcheinander gewürfelt.

    Wo sehe ich, welches Template/Layout einer Seite zugewiesen ist?
    Welches Seitenlayout einer Seite zugewiesen ist siehst Du unter Layout -> Seitenstruktur -> die fragliche Seite

    Wie Du oben schon schriebst, ein Theme enthält alles nötige zur Darstellung einer Seite.
    Ein Theme enthält dann mindestens ein Seitenlayout. In den Layouts wird die Struktur der Seite(n) festgelegt. Also Header/Footer, Spalten, welche CSS und JS geladen werden, welche Frontentmodule (Suche, Navi, Mobile Navi, Artikel, ...). Und auch wo im Layout sie dargestellt werden (Header, Main, Footer, Spalte)
    Jeder Seite muss ein Seitenlayout zugewiesen sein. Nutzt Du nur eines, geht das über den Seitenstartpunkt mit Layout Vererbung an die Unterseiten. Häufig ist es aber so, dass man mehrere Seitenlayouts verwendet. ZB. weil die Startseite noch keine Breadcrumb-Navi hat, dann bekommt die Startseite ein eigenes Layout, bei dem die Breadcrumb in den Frontendmodulen fehlt.

    Wie nun zB die Breadcrumb ausgegeben wird, kannst man über die Templates bestimmen. Dies gilt für alle (Frontend)Module. Jedes Modul bringt (min) ein Template mit. Wenn gewünscht und reines CSS nicht mehr ausreicht, kannst Du dieses Template über Layout -> Templates in Deinen eigenen Templates Ordner kopieren (dadurch bleibt es Update sicher) und dort entsprechend anpassen, zB die Reihenfolge wie Dinge angezeigt werden.

    Nun klarer?
    Du hast also immer min ein Theme, welches wieder min ein (meist mehr) Seitenlayout enthält. Das Erscheinungsbild (oder auch PHP Logik) der einzelnen Module (Inhaltselemente) in einem Layout, kannst Du wieder über die Templates anpassen (wenn nötig)
    Grüße, Stefko

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

    Support Contao

    Standard

    Weiterführende Informationen zu diesem Thema findest Du u. a. auch im Buch "Websites erstellen mit Contao" von Peter Müller.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  4. #4
    Contao-Nutzer
    Registriert seit
    24.11.2017.
    Beiträge
    61

    Standard

    Zitat Zitat von Stefko Beitrag anzeigen
    Im Prinzip ja.
    Du hast min ein Theme. Dieses besteht wieder aus min. einem Seitenlayout (meist mehr) und dieses gibt wieder n*Templates aus.



    Vorsicht, mir scheint hier wird Site (die komplette Website) und Seite (eine einzelne Seite) durcheinander gewürfelt.



    Welches Seitenlayout einer Seite zugewiesen ist siehst Du unter Layout -> Seitenstruktur -> die fragliche Seite

    Wie Du oben schon schriebst, ein Theme enthält alles nötige zur Darstellung einer Seite.
    Ein Theme enthält dann mindestens ein Seitenlayout. In den Layouts wird die Struktur der Seite(n) festgelegt. Also Header/Footer, Spalten, welche CSS und JS geladen werden, welche Frontentmodule (Suche, Navi, Mobile Navi, Artikel, ...). Und auch wo im Layout sie dargestellt werden (Header, Main, Footer, Spalte)
    Jeder Seite muss ein Seitenlayout zugewiesen sein. Nutzt Du nur eines, geht das über den Seitenstartpunkt mit Layout Vererbung an die Unterseiten. Häufig ist es aber so, dass man mehrere Seitenlayouts verwendet. ZB. weil die Startseite noch keine Breadcrumb-Navi hat, dann bekommt die Startseite ein eigenes Layout, bei dem die Breadcrumb in den Frontendmodulen fehlt.

    Wie nun zB die Breadcrumb ausgegeben wird, kannst man über die Templates bestimmen. Dies gilt für alle (Frontend)Module. Jedes Modul bringt (min) ein Template mit. Wenn gewünscht und reines CSS nicht mehr ausreicht, kannst Du dieses Template über Layout -> Templates in Deinen eigenen Templates Ordner kopieren (dadurch bleibt es Update sicher) und dort entsprechend anpassen, zB die Reihenfolge wie Dinge angezeigt werden.

    Nun klarer?
    Du hast also immer min ein Theme, welches wieder min ein (meist mehr) Seitenlayout enthält. Das Erscheinungsbild (oder auch PHP Logik) der einzelnen Module (Inhaltselemente) in einem Layout, kannst Du wieder über die Templates anpassen (wenn nötig)
    Danke für die ausführliche Erklärung. Das heisst, das Layout bestimmt, wo etwas ausgegeben wird. Das Template bestimmt, wie etwas ausgegeben wird.
    Eine weitere Frage:
    Wenn ich einer einzelnen Seite (z.B. der Startseite) ein separates Seitenlayout zuweisen, z.B. mit drei Spalten, wo lege ich fest in welche Spalte ein Artikel eingefügt wird?
    Kann ich ein bestehendes Seitenlayout einfach kopieren, abändern und einer Seite zuweisen?

    Grüße

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

    Standard

    Zitat Zitat von Hardworker Beitrag anzeigen
    Wenn ich einer einzelnen Seite (z.B. der Startseite) ein separates Seitenlayout zuweisen, z.B. mit drei Spalten, wo lege ich fest in welche Spalte ein Artikel eingefügt wird?
    Zum einen schon im Seitenlayout selbst, zB wenn Du eine Eventliste in der rechten Spalte ausgeben möchtest.
    Bildschirmfoto 2018-08-31 um 11.47.50.png

    Bei den Einstellungen eins Artikels kannst Du auch festlegen wo dieser erscheinen soll
    Bildschirmfoto 2018-08-31 um 11.51.11.png

    Kann ich ein bestehendes Seitenlayout einfach kopieren, abändern und einer Seite zuweisen?
    Klar, kopieren, abändern und dann unter Layout -> Seitenstruktur -> bei der betreffenden Seite -> Bearbeiten und dieses neue Layout auswählen.
    Grüße, Stefko

  6. #6
    Contao-Nutzer
    Registriert seit
    24.11.2017.
    Beiträge
    61

    Standard

    Super, danke. Ich werd's am heute Nachmittag mal ausprobieren.
    Wenn ich später oder morgen weitere Fragen habe, liest Du die dann?

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

    Standard

    Zitat Zitat von Hardworker Beitrag anzeigen
    Wenn ich später oder morgen weitere Fragen habe, liest Du die dann?
    Die aktuelle Lesewahrscheinlichkeit liegt bei ca 90%



    Gesendet von iPhone mit Tapatalk Pro
    Grüße, Stefko

  8. #8
    Contao-Nutzer
    Registriert seit
    24.11.2017.
    Beiträge
    61

    Standard

    Hallo,

    ich wieder.

    Habe es mit Deiner Hilfe geschafft, ein separates Layout anzulegen.
    Das Layout ist 3-spaltig, die linke und die rechte Spalte werden aber beide rechts angezeigt. Kannst Du helfen?
    Siehe die Screenshots mit den Einstellungen und der Ausgabe. Der Frontend-Helper zeigt auch 'Linke Spalte' auf der rechten Seite an.
    Browseransicht: Browser.jpg
    Browseransicht mit Frontend-Helper: Browser mit Frontend-Helper.jpg
    Seitenstruktur: Seitenstruktur.jpg
    Layout 1: Layout1.jpg Layout2: Layout2.jpg

    Wäre super, wenn Du mir nochmal helfen könntest.

    Grüße

  9. #9
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Da fehlt wohl das passende CSS, weil es für das sonst verwendete Layout nicht gebraucht wird. Kannst ja mal versuchen, im Seitenlayout das Layoutbuilder-CSS zu aktivieren.

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
  •