Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: Navigation individualisieren (eigene Klassen, IDs und Wrapper) [solved]

  1. #1
    Contao-Nutzer
    Registriert seit
    26.04.2020.
    Beiträge
    7

    Frage Navigation individualisieren (eigene Klassen, IDs und Wrapper) [solved]

    Hallo zusammen,

    ich würde gerne das HTML der Navigation anpassen. Ich verstehe leider nur nicht, wie das geht. Wenn ich das Template mod_navigation.html5 überschreibe, dann kann ich nur die Wrapper editieren, wie kann ich aber Einfluss auf die Liste nehmen, die im Template durch $this->items erzeugt wird? Das Ganze ist ja leider keine Datenstruktur, sondern nur ein String mit HTML drinnen.

    Grüße
    Georg
    Geändert von georg_mueller (30.05.2020 um 18:32 Uhr)

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

    Standard

    Im Navigationsmodul kannst du das Navigationstemplate einstellen. Default ist nav_default.

  3. #3
    Contao-Nutzer
    Registriert seit
    26.04.2020.
    Beiträge
    7

    Standard

    @Spooky: Danke, nur da gibt es standardmäßig nur eins und ich würde gerne selber eins schreiben, weiß aber nicht wie und wo. Irgendwo muss man doch das Template für diese Liste überschreiben können.

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

    Standard

    Im Backend kannst du unter "Templates" beliebige Templates überschreiben lassen - wie eben zB nav_default.

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

    Support Contao

    Standard

    Links auf Templates klicken und dann auf "Neues Template". Dann wählst du links nav_default.html5 aus und als Zielverzeichnis templates oder das Template-Verzeichnis deines Themes. Dann kannst du das Template bearbeiten und es überschreibt dann das "Systemtemplate" als Default-Template. Alternativ kannst du es auch umbenennen in z.B. nav_mytemplate.html5 (muss halt mit "nav_" anfangen) oder etwas Sinnvolleres und dieses nur gezielt in den gewünschten Navigationsmodulen auswählen.

    Edit: Boah, man sollte nicht nebenher fernsehen, eine volle Viertelstunde zu spät

  6. #6
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Hi Georg,
    du scheinst dich neu in Contao einzuarbeiten so wie ich vor Jahren als ich auch zunächst mal alle Klassen, Ids und was sonst noch angepasst habe. Erst nach einiger Zeit habe ich verstanden, dass die Vergabe von Ids und Klassen in Contao ziemlich clever gelöst ist und sich damit Designs für unterschiedlichste Module schnell und global bearbeiten lassen. Nach dieser Erkenntnis alles wieder zu ändern war damals ziemlich lästig.

    Wenn du also nicht einen sehr, sehr guten Grund hast und nicht sehr genau weisst was du da tust, lass es; die vorgegebenen Ids und Klassen reichen aus um eigentlich alle Anforderungen umzusetzen. Ein weiterer Vorteil ist, dass du bei evtl. Änderungen in Core-Templates bei einem Update nicht prüfen musst ob du deine Templates anpassen musst.

  7. #7
    Contao-Nutzer
    Registriert seit
    26.04.2020.
    Beiträge
    7

    Standard

    @spooky @tab: Vielen Dank, genau das Template (nav_default) habe ich gesucht. Sorry für die lange Leitung, habe es mit dem mod_navigation verwechselt, in welchem ich rumeditiert habe. Ich ging wohl davon aus, dass das auch irgendwie mit navigation heißen muss, weil es bei den Modulen ausgeschrieben wird und nicht nur nav.

    @3dr: Ja, das ist mir auch schon aufgefallen. Gerade verwende ich aber ein CSS-Framework, welches im Menü noch Klassen benötigt, die ich ergänzen muss. Wahrscheinlich verzichte ich beim nächsten Projekt wieder auf Frameworks und mache alles selber, dann ist es auch egal, welche Klassen ich nehme. Nur eine Frage bzgl der Updates: Bin ich nicht eigentlich sicherer mit einem überschriebenen Template? Wenn ich die Contao-Klassen nehme, dann kann ich doch Gefahr laufen, dass diese sich ändern bzw. sogar die ganze HTML-Struktur. Bei einem eigenen Template kann das nicht passieren und ich hoffe ja mal stark, dass sich die Template-Namen selbst nicht ständig ändern.
    Geändert von georg_mueller (22.05.2020 um 02:49 Uhr)

  8. #8
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Hi Georg,
    in einer LTS-Version von Contao (wie z.B. der Version 4.9) wird es keine Änderungen an CSS-Klassen oder -Ids und Templates geben. Contao wird aber aktiv weiterentwickelt und wenn entschieden wird dass neue Klassen oder Ids zu einer Verbesserung führen, werden diese hinzugefügt; auch Templates (aus denen ja die HTML-Struktur gebildet wird) können sich da durchaus ändern. Das alles passiert aber aus meiner Erfahrung immer mit möglichst guter Rückwärtskompatibilität und alle Änderungen werden ja im Changelog (hier für 4.9.x) eingetragen und können dort eingesehen werden.

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
  •