Umfrageergebnis anzeigen: Wie findest du dieses Tutorial?

Teilnehmer
7. Du darfst bei dieser Umfrage nicht abstimmen
  • genial

    5 71,43%
  • phänomenal

    1 14,29%
  • katastrophal

    0 0%
  • schietegal

    1 14,29%
Ergebnis 1 bis 1 von 1

Thema: Eine CSS-Klasse generieren für Seiten mit Unterseiten (hasSub)

  1. #1
    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

    Information Eine CSS-Klasse generieren für Seiten mit Unterseiten (hasSub)

    Basiert auf:
    TL 2.8.RC2
    nav_default.tpl

    Kurzbeschreibung:
    In Anlehnung an Ticket CSS class for menuitems with subpages hier die Umsetzung. Mit diesem Template-Mod wird dann im Element LI die Klasse hasSub|noSub generiert, mit welcher man die Menüpunkte welche Unterseiten besitzen anders formatieren kann, obwohl die Untermenüpunkte noch nicht generiert sind. Für Einschränkungen bitte im Ticket Punkt 11 von Leo lesen.

    Beschreibung/Sonstige Infos:
    Direkt nach öffnen der foreach-Schleife wird die Variable $classSub in Abhängigkeit der Variable $items['subpages'] erzeugt.
    PHP-Code:
    <?php $classSub $item['subpages'] > 'hasSub' 'noSub'?>
    Mit folgendem Term wird die Klasse an den Entsprechenden Stellen ins Template generiert:
    PHP-Code:
    <?php echo $classSub?>
    Dazu musste ich die ursprüngliche Generierung der CSS-Klasse class="" ein wenig umstellen, damit die Klasse auf jeden Fall generiert wird und die Leerzeichen bei Mehfachklassen richtig gesetzt werden.

    Hier das kompl. Template nav_default_mod.tpl etwas eingerückt für leichtere Lesbarkeit. Im Anhang dann ohne diese Einrückung:
    PHP-Code:
    <ul class="<?php echo $this->level?>">

    <?php foreach ($this->items as $item): ?>

    <?php $classSub $item['subpages'] > 'hasSub' 'noSub'?>

    <?php if ($item['isActive']): ?>
    <li class="active <?php echo $classSub?><?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><span class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?></li>

    <?php else: ?>

    <li class="<?php echo $classSub?><?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php endif; ?>

    <?php endforeach; ?>
    </ul>
    Gruß Andreas

    Die Screenshots zeigen das Ergebniss formatiert mit:
    Code:
    .hasSub a:after { content: " hasSub"; }
    .noSub a:after { content: " noSub"; }
    .active span:after { content: " active"; }
    Ihr könnt sehen, dass die Seite Courses mit hasSub ausgezeichnet ist, obwohl keine Unterseiten vorhanden sind. Das liegt an der Einschränkung (siehe Ticket), da Courses geschützte Unterseiten hat. Screeshot 2 zeigt dieselbe Seite mit Stoplevel = 1.
    Angehängte Grafiken Angehängte Grafiken
    Angehängte Dateien Angehängte Dateien
    Geändert von Andreas (08.01.2010 um 20:21 Uhr) Grund: Ich glaube ich hatte die falsche Datei im Anhang, Screenshot hinzugefügt

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Seitenstruktur - Klasse an Unterseiten vererben
    Von thepixture im Forum Layout / Templates / Holy Grail
    Antworten: 29
    Letzter Beitrag: 16.02.2015, 17:00
  2. Geschütze seiten mit Klasse versehen
    Von psren im Forum Layout / Templates / Holy Grail
    Antworten: 4
    Letzter Beitrag: 07.07.2011, 22:06
  3. Eine neue Klasse....wo reinschreiben?
    Von Wurzel im Forum Layout / Templates / Holy Grail
    Antworten: 4
    Letzter Beitrag: 24.11.2010, 13:50
  4. Eine Klasse immer laden
    Von Dani im Forum Entwickler-Fragen
    Antworten: 3
    Letzter Beitrag: 27.07.2010, 16:45
  5. Eigene CSS-Klasse für Unterseiten
    Von closeup im Forum Layout / Templates / Holy Grail
    Antworten: 21
    Letzter Beitrag: 31.12.2009, 15:24

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •