Ergebnis 1 bis 11 von 11

Thema: Template nav_default

  1. #1
    Contao-Nutzer
    Registriert seit
    20.11.2015.
    Beiträge
    28

    Standard Template nav_default

    Hallo zusammen

    Ich habe eine horizontale Hauptnavigation und eine vertikale Unternavigation in der linken Spalte. Abhängig davon, welche Hauptnavigation angeklickt wurde, soll die Unternavigation eine andere Farbe bekommen. Aber wie bekomme ich im php code des Templates den title oder die class des li das gerade angeklickt wurde. $this->parent->title funzt natürlich nicht. Aber wie dann? Habe leider gar keine Idee wo ich da nachsehen müsste. Also falls es jemand weiss und/oder mir die entsprechende Doku angeben kann, wäre ich sehr dankbar.

    Viele Grüsse
    Martina

  2. #2
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.867
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo,

    link zur Seite?
    Gib in der Seitenstruktur deinen Seiten eine class mit
    Die Klasse wird sowohl in der Navigation als auch im <body>-Tag verwendet.
    Und mit dieser class färbst du die Unternavigation via CSS ein
    Grüsse
    Bernhard


  3. #3
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    du hast doch immer die Klassen zb. level_1, level_2 usw...damit kannst du die Subnav einfärben

  4. #4
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.867
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von 07alex07 Beitrag anzeigen
    du hast doch immer die Klassen zb. level_1, level_2 usw...damit kannst du die Subnav einfärben
    level_1, level_2, ... bleiben immer level_1, level_2, ... und unterscheiden sich dann nicht mehr je nach angewählter Seite, somit muss hier zumindest noch dem level_1, level_2, ... mitgeteilt werden auf welcher Seite sie sich befinden » das kann eben über die class der Seite selbst umgesetzt werden.
    Grüsse
    Bernhard


  5. #5
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    naja wenn sie das pro Seite eine andere Farbe haben möchte, dann ja.
    Ansonsten gibt es ja die Klasse
    Code:
    .active .level_2
    bzw.
    Code:
    .trail .level_2
    ....oder versteh ich ihr Problem nicht?

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die ID der Elternseite zu holen ist im Template vielleicht noch das einfachste.
    PHP-Code:
    <?php

    global $objPage;

    print_r($objPage->pid); // debug

    $myCCSClass 'pid_'.$objPage->pid.

    ?>
    <div class="<?= $myCCSClass ?>">Content</div>
    Geändert von Andreas (24.05.2016 um 17:37 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  7. #7
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst einfach in der Seitenstruktur den Hauptseiten eine Klasse geben. Diese Klasse wird dann auch im body gesetzt. Damit kannst du dann alles anders einfärben, was du möchtest. Auch das Untermenü ;-)
    Dafür braucht es also keine Template Anpassungen oder sonst was.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  8. #8
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Code:
    Seite 1
      Sub 1 1
      Sub 1 2
    Seite 2 (class=red)
      Sub 2 1
      Sub 2 2 (active)
    Hallo MacKP, das geht so nicht. Wenn du auf Seite Sub 2 2 bist, dann hat diese Seite nicht die Klasse red im BODY und im Submenü findest du diese Klasse dann auch nicht. Er müsste dann im Backend allen Unterseiten auch Klassen vergeben. Das scheint er aber automatisieren zu wollen. Er möchte alle Unterseiten von Seite 2 red formatieren.

    Mainnav
    Seite 1, Seite 2

    Subnav
    Seite 2 1, Seite 2 2
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  9. #9
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ah, sorry.. stimmt. Da war ich heute morgen anscheinend noch nicht richtig wach xD

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  10. #10
    Contao-Nutzer
    Registriert seit
    20.11.2015.
    Beiträge
    28

    Standard

    Andreas hat recht, das war meine eigendliche Idee. Da ich hauptsächlich C#/WPF programmiere komm ich immer gar nicht auf die Idee was im Web alles nicht/oder nur schwierig geht :-( Da es im Moment nur eine Unterstufe gibt hab ich jetzt aber wirklich mal überall eine Klasse vergeben. Kunde ist damit auch erstmal zufrieden ;-)

    Andreas: Ich werde mir deinen Ansatz noch genauer ansehen. Hab ihn jetzt noch nicht ganz kapiert. In PHP muss ich mich erst wieder reindenken ;-)

    Vielen Dank an alle! Hier wird einen immer super geholfen :-)

    Viele Grüsse
    Martina

  11. #11
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Solange du nur mit 2 Ebenen arbeitest kannst du das hier in das Feld CSS-Klasse im Navigationsmodul eintragen.
    Code:
    pid_{{page::pid}}
    Ansonsten musst du ein eigenes mod_-Template für die Navigation anlegen und darin die Elternseite in Ebene 1 ermitteln.

    Eine einfache Lösung mit JS wäre noch die Hauptnavigation nach active und trail zu durchsuchen und von dort die Klassen dann auch auf das Submenü zu legen.
    Geändert von Andreas (25.05.2016 um 14:49 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

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
  •