Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Contao 3.5.x, allen ul in einer Navigation ab .level_2 eine Klasse hinzufügen

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

    Standard Contao 3.5.x, allen ul in einer Navigation ab .level_2 eine Klasse hinzufügen

    Frohe Festtage an alle,
    zwischen den Feiertagen baue ich so an meinen Projekten und suche nun nach einer Möglichkeit, in einer Navigation den ul ab .level_2 eine weitere Klasse hinzuzufügen. Das Template nav_default.html5 habe ich mir angesehen, finde hier jedoch keinen Ansatz. Gefunden habe ich die Möglichkeit Listenelementen eine Klasse hinzuzufügen: siehe hier, aber das bringt mich nicht weiter. Kann mir jemand erklären, was hier zu tun wäre, vorab vielen Dank.

  2. #2
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Einfach mit einer If-Abfrage im Template nav_default.html
    Code:
    <ul class="<?= $this->level ?>
    Code:
    <?php if ($this->level == 'level_2'): ?> meine_klasse<?php endif ?>
    "> <?php foreach ($this->items as $item): ?> <?php if ($item['isActive']): ?> <li class="<?= $item['class'] ?>"><strong class="<?= $item['class'] ?>"<?php if (!empty($item['subitems'])) echo ' aria-haspopup="true"'; ?> itemprop="name"><?= $item['link'] ?></strong><?= $item['subitems'] ?></li> <?php else: ?> <li<?php if ($item['class']) echo ' class="' . $item['class'] . '"'; ?>><a href="<?= $item['href'] ?: './' ?>" title="<?= $item['pageTitle'] ?: $item['title'] ?>"<?php if ($item['class']) echo ' class="' . $item['class'] . '"'; ?><?php if ($item['accesskey']) echo ' accesskey="' . $item['accesskey'] . '"'; ?><?php if ($item['tabindex']) echo ' tabindex="' . $item['tabindex'] . '"'; ?><?php if ($item['nofollow']) echo ' rel="nofollow"'; ?><?= $item['target'] ?><?php if (!empty($item['subitems'])) echo ' aria-haspopup="true"'; ?> itemprop="url"><span itemprop="name"><?= $item['link'] ?></span></a><?= $item['subitems'] ?></li> <?php endif; ?> <?php endforeach; ?> </ul>
    Den obigen Code kannst du eventuell nicht 1:1 übernehmen. Ich hatte gerade nur eine 4er Installation zur Hand. Ich denke aber das Prinzip sollte damit klar sein. Alles was fett ist habe ich ergänzt.

    Edit: Ich sehe gerade, Du wolltest es für alle ab Level 2. Wer richtig liest ist klar im Vorteil .
    Dann den hervorgehobenen Teil durch nachfolgenden ersetzen

    Code:
    <?php if ($this->level !== 'level_1'): ?> meine_klasse<?php endif ?>
    Geändert von mlweb (26.12.2017 um 18:11 Uhr)
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




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

    Standard

    Danke für deine schnelle Antwort, bei mir hat das in Contao 3.5 so funktioniert:
    PHP-Code:
    <ul class="<?= $this->level ?>">
    ersetzt mit:
    PHP-Code:
    <ul class="<?= $this->level ?> <?php if ($this->level !== 'level_1'): ?>eine_weitere_klasse<?php endif ?>">

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
  •