Ergebnis 1 bis 9 von 9

Thema: 3.5.6 Template / Theme?

  1. #1
    Contao-Nutzer
    Registriert seit
    04.02.2016.
    Beiträge
    34

    Standard 3.5.6 Template / Theme?

    Hallo zusammen,

    ich habe mir zum erstenmal Contao installiert und muss sagen, dass ich nirgends eine vernünftige Doku / Tutorial finden konnte, wie ich mein eigenes Template bei Contao einbinden kann. Habt ihr evtl. etwas passendes?

    Mein Template wird eine Kopfzeile und Fußzeile haben. Unter der Kopfzeile wird sich das Menü befinden. Nun zwischen diesen Zeilen wird dann der Content Bereich hinkommen. Dies soll 2 Spalten haben, kann aber auch in manchen Seite eine Spalte haben.

    Auf der Startseite soll zusätzlich noch ein Slider hin. Gleich unter dem Menü. Gibt es dazu eine Dokumentation?

    Weitere Fragen, wie kann ich am besten PHP-Code einbinden? Am besten mehrere. Ich würde gerne "Prozesse" haben, die ich dann unter ElementTyp auswählen kann. Bietet zudem Contao ein einfaches Menü ein? Ohne viel Schnick, Schnack?

    Danke im Voraus.

  2. #2
    Alter Contao-Hase
    Registriert seit
    20.03.2010.
    Ort
    Hannover
    Beiträge
    1.041

    Standard

    Hallo,
    was verstehst Du unter eigenes Template?
    Hast Du bereits ein fertiges HTML/CSS-Gerüst?

    Hier im Forum taucht diese Frage immer mal wieder auf.
    Ebenfalls findest Du bei youtube reihenweise Anleitungen.

    zB https://www.youtube.com/watch?v=Np9ztTSomLw

    Den internen CSS-Editor, der oft gezeigt wird, wird mittlerweile nur noch von Leuten verwendet, die keine Ahnung von CSS haben.
    Zudem wird er wohl mittelfristig aus Contao verschwinden.

    Wenn Du ein neues Theme anlegst kannst Du darin auch eigene Layouts anlegen und diese mit allen Zeilen und Spalten versehen, die Du benötigst.

    Ein Layout mit und eines ohne zweite Spalte (Content + Sidebar) würde bedeuten, dass Du zwei Layouts anlegen mußt.

    Als Slider kannst Du die bereits verfügbare Version nutzen oder Dir einen aus der Erweiterungsverwaltung installieren.

    Die einfachste Form der Navigation ist das Navigationsmodul, dass dann natürlich unformatiert ohne CSS daher kommt.

    Externe PHP-Files kann man generell über sogenannte Interttags einbinden.

    {{file::*}} Dieses Tag wird mit dem Inhalt einer .php- oder .tpl-Datei aus dem templates-Verzeichnis ersetzt (ersetzen Sie * mit dem Namen). Bei Bedarf können Sie Argumente übergeben: {{file::file.php?arg1=val&arg2=val}}

    Externe "Prozesse" wirst Du nicht einfach so einbinden und dann über als Inhaltselement ausgeben können.
    Da wirst Du eine andere Lösung finden müssen.

  3. #3
    Contao-Nutzer
    Registriert seit
    04.02.2016.
    Beiträge
    34

    Standard

    Hallo,

    vielen Dank. Das mit dem Template hat super geklappt. Habe es nun auch ein wenig besser verstanden. Ich habe ein Template erstellt, mit 3 eingebunden Modulen vorerst.

    1. Logo (Eigener HTML-Code)
    2. Navigation (Individuelle Navigation)
    3. Artikel

    Nun würde ich erstmal, das gesamte Grundgerüst (fe_page.html5) umändern. Wie kann ich für mein Template ein eigenständiges "fe_page.html5" schreiben? In meinem "/templates/mein-template/" befindet sich noch nichts. Muss ich einen fe_page.html5 dort anlegen? Und dann wird automatisch dieser genommen? Kann ich auch Module in fe_page.html5 positionieren mithilfe von Platzhaltern?

    Auch würde mich zusätzlich interessieren, bei Navigation gibt es unter Navigationstemplate "nav_default". Wo finde ich dieses Template? Wie kann ich dies überschreiben? Es gibt die Möglichkeit "Individuelles Template", wo ich den Standard-Template wohl überschreibe. Schaue ich da rein, gibt es dort sehr viele mod_templates. Woher kommen diese Templates her? Wie kann ich für mein Template ein eigenes Nav-Template anlegen?

    Gruß

  4. #4
    Contao-Fan Avatar von jscholtysik
    Registriert seit
    19.06.2009.
    Ort
    München
    Beiträge
    366

    Standard

    Hi pet21221,


    grundsätzlich ist es nicht notwendig, irgendwelche Templates zu ändern, schon gar nicht das fe_page Template. Man kommt in der Regel meist ohne Templateänderungen aus, sofern man keine speziellen Sachen benötigt.

    Ein sehr guter Leitfaden für Contao ist das Buch von Peter Müller:

    http://www.amazon.de/Contao-umfassen...er+M%C3%BCller

    Das Buch löst die meisten, wenn nicht sogar alle Fragen, die man für den Neueinstieg in Contao hat, unter anderem auch

    - wie lege ich ein Theme an
    - wie erstelle ich ein Seitenlayout
    - Erstellung von eigenen Templates
    - was kann ich mit Modulen machen und wie binde ich sie ein
    - was sind Inhaltselemente
    - Trennung von Seiten und Artikeln usw. usw.

    Schau Dir das Buch mal an, arbeite Dich damit ein, dann wirst Du sehen, dass der Einstieg in Contao wirklich einfach ist, wenn man mal das Prinzip und die Arbeitsweise von Contao verstanden hat.
    Geändert von jscholtysik (04.02.2016 um 10:30 Uhr)
    Joachim
    *** Kein Backup, kein Mitleid ***

  5. #5
    Contao-Nutzer Avatar von Ling
    Registriert seit
    09.04.2010.
    Ort
    Tübingen
    Beiträge
    57

    Standard

    Nun würde ich erstmal, das gesamte Grundgerüst (fe_page.html5) umändern. Wie kann ich für mein Template ein eigenständiges "fe_page.html5" schreiben? In meinem "/templates/mein-template/" befindet sich noch nichts. Muss ich einen fe_page.html5 dort anlegen? Und dann wird automatisch dieser genommen?
    Jupp. Wenn du nicht mehrere Themes nutzt / nutzen willst, kannst du das Template auch einfach im Ordner "templates" ablegen.

    Kann ich auch Module in fe_page.html5 positionieren mithilfe von Platzhaltern?
    Das könntest du mit Hilfe von Insert-Tags machen: https://docs.contao.org/books/manual...nserttags.html

    Auch würde mich zusätzlich interessieren, bei Navigation gibt es unter Navigationstemplate "nav_default". Wo finde ich dieses Template? Wie kann ich dies überschreiben? Es gibt die Möglichkeit "Individuelles Template", wo ich den Standard-Template wohl überschreibe. Schaue ich da rein, gibt es dort sehr viele mod_templates. Woher kommen diese Templates her? Wie kann ich für mein Template ein eigenes Nav-Template anlegen?
    Das kannst du im Backend über "Layout" -> "Templates" -> "Neues Template" machen.

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

    Support Contao

    Standard

    Zitat Zitat von pet21221 Beitrag anzeigen
    Nun würde ich erstmal, das gesamte Grundgerüst (fe_page.html5) umändern. Wie kann ich für mein Template ein eigenständiges "fe_page.html5" schreiben? In meinem "/templates/mein-template/" befindet sich noch nichts. Muss ich einen fe_page.html5 dort anlegen? Und dann wird automatisch dieser genommen? Kann ich auch Module in fe_page.html5 positionieren mithilfe von Platzhaltern?
    Der offizielle Weg geht so, dass du unter dem Menüpunkt Templates ein neues Template anlegst. Dabei wird dann automatisch eine Kopie des von dir ausgewählten Templates (hier fe_page.html5) in deinem ausgewählten Verzeichnis (/templates oder /templates/mein-template) erzeugt, die du dann verändern (oder auch leerräumen und komplett neu schreiben) kannst. Das geht nicht nur mit dem Seitenteplate so, sondern auch mit allen anderen wie z.B. nav_default und die ganzen mod_templates. Welche Variablen dir in deinem Template zur Verfügung stehen, kannst du dir am einfachsten anschauen, indem du im Template $this->showTemplateVars() aufrufst, damit wird alles im Frontend ausgegeben, was vorhanden ist.
    Oder du baust diese Zeile ein
    PHP-Code:
    <!-- <?php $this->showTemplateVars(); ?> -->
    Dann hast du das ganze als Kommentar im Seitenquelltext. Die ganzen Templates findest du auch unter /system/modules/core/templates in Unterverzeichnissen geordnet. Das nav_default z.B. im Unterverzeichnis navigation, die Modultemplates mod_* im Unterverzeichnis modules. Aber wenn du über den Menüpunkt Templates im Backend die Templates anlegst, dann musst du sie nicht selbst suchen.

  7. #7
    Contao-Nutzer
    Registriert seit
    04.02.2016.
    Beiträge
    34

    Standard

    Ich danke euch vielmals. Ich denke manchmal, ich glaube, wohl ein wenig zu kompliziert.
    Unter Themes in meinem Theme, werde ich die Funktion "Stylesheets" nicht nutzen.

    Ich denke mit dem Template bin ich fast durch. Doch eine Frage habe ich noch dazu. Ich hoffe es ist die letzte. Ich habe unter meinem Seitenlayout "With right column" nun einen Modul "Rechte Seite" mit eigener HTML-Code in der Spalte "Rechte Seite" erstellt. Im HTML-Code habe ich "{{insert_article::12}}" stehen. Das heisst die gesamte Rechte Seite ist der Artikel 12.

    Nun meine Frage, wenn ich für die Rechte Seite auf einer anderen Seite eine andere Rechte Seite anzeigen möchte. Wie könnte ich vorgehen? Sprich auf /contact.html soll auf der Rechten Seite ein anderes "Submenü oder Artikel" angezeigt werden.

    Wie macht ihr dass denn mit Submenüs? Sprich jede Main Seite hat noch einen Submenü, welches auf der Linken Seite angezeigt wird?

    Oder noch ein Beispiel. Auf allen Seiten auf der rechten Seite werden Preise und Öffnungszeiten angezeigt. Nun will ich aber bei "preise.html", die Preise aus der rechten Seite verschwinden lassen, da es ja im Inhalt bereits um die Preise geht?

    -----

    Außerdem, gibt es die Möglichkeit nicht, in einem Artikel einen ElementTyp mit "Individuelle Navigation" auszuwählen? Ich finde dort nichts.
    Geändert von pet21221 (04.02.2016 um 11:23 Uhr)

  8. #8
    Alter Contao-Hase
    Registriert seit
    20.03.2010.
    Ort
    Hannover
    Beiträge
    1.041

    Standard

    Wenn Du einen Inhalt nur an einer Stelle änder willst , ist der einfachste Weg folgender:

    Ein 2. Layout für diesen Zweck anlegen, dass an der Stelle etwas anderes oder nichts enthält.

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

    Support Contao

    Standard

    Ich nutze für Haupt und Subnavigation normalerweise jeweils ein Navigationsmenü und keine individuelle Navigation. Die benutze ich eher, um Seiten wie Impressum und Datenschutz zu verlinken. Meine Seiten lege ich dann halt entsprechend an, so dass die Seiten für die Subnavigation eben auch in der Seitenstruktur Unterseiten der jeweiligen Seite sind. Dann machen mir die Navigationsmodule bei entsprechender Einstellung (Startlevel, Stoplevel) alles automatisch richtig.

    Wegen des Artikel in der rechten Spalte. Da kommt es drauf an, ob es da nur zwei oder drei Typen von Seiten geben soll, die dann halt jeweils einen anderen Artikel anzeigen sollen. In dem Fall mache ich für jeden Typ entsprechende Seitenlayouts. Ist es aber praktisch für jede Seite ein anderer Artikel, dann binde ich das Artikelmodul zusätzlich in die rechte Spalte mit ein und erstelle die Artikel gleich an der passenden Stelle (in der entsprechenden Seite).

    Navigationen gibt es nur als Modul. Ist aber kein Problem, weil man Module auch als Inhaltselemente in einen Artikel einbauen kann. Wird ja in der Auswahl angezeigt. (unter Include-Elemente). Das ist auch eine Alternative zu den unterschiedlichen Seitenlayouts für unterschiedliche Artikel in der rechten Spalte. Man erzeugt die benötigten Artikel in einer speziell dafür angelegten Seite, die man nicht veröffentlicht. Die Artikel selbst veröffentlicht man. Jetzt bindet man das Artikelmodul im Seitenlayout in die rechte Spalte zusätzlich ein und erzeugt auf jeder Seite einen Artikel, der als einziges Inhaltselement den jeweils gewünschten Artikel als Include-Element beinhaltet. So kann man die Artikel selbst zentral anpassen / ändern und hat die Änderungen dann automatisch auf allen Seiten drin, wo eben dieser Artikel als Include-Element eingebunden ist.

    Ich denke, es gibt auch entsprechende Erweiterungen, mit denen man das seitenweise bequem steuern kann, was angezeigt werden soll und was nicht. Ich mache mir da aber meistens die Zusatzarbeit und löse es mit den Mitteln des Core wenn möglich. Ein mögliches Problem weniger bei Updates ...

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
  •