Ergebnis 1 bis 7 von 7

Thema: CSS-Klasse 'trail' für Weiterleitungsseiten in Menüs

  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

    Beitrag CSS-Klasse 'trail' für Weiterleitungsseiten in Menüs

    Basiert auf TYPOlight Originaltemplate nav_default.tpl (TL 2.7.5)

    Kurzbeschreibung was die Modifizierung bewirkt:

    In Menüs wird die Klasse 'active' gegen die Klasse 'trail' getauscht, wenn der Menüpunkt vom Seitentyp 'Interne Weiterleitung' ist.

    Ausführliche Beschreibung/Sonstige Infos:
    Code-Auszug:
    PHP-Code:
    ...
    <?php if ($item['isActive']): ?>

    <!-- Den unteren Listenpunkt muss man löschen! Ist nur zur Veranschaulichung im FE -->
    <li>
      <strong>HREF</strong>: <?php echo $item['href']; ?><br />
      <strong>HREF bereinigt</strong>: <?php echo strtr($item['href'], array('index.php/' => '','.html' => '')); ?><br />
      <strong>ALIAS</strong>: <?php echo $item['alias']; ?>
      <?php if ($item['alias'] !== strtr($item['href'], array('index.php/' => '','.html' => ''))): ?>
      <?php echo '<strong> ungleich, also trail</strong>'?>
      <?php else: ?>
      <?php echo '<strong> gleich, also active</strong>'?>
      <?php endif; ?>
    </li>

    <?php $trail 'active'?>
    <?php 
    if ($item['alias'] !== strtr($item['href'], array('index.php/' => '','.html' => ''))): ?>
    <?php $trail 
    'trail'?>
    <?php 
    endif; ?>

    <!-- replaced 2x 'active' in next line with uncommented '<?php #echo $trail; ?>' -->
    <li class="<?php echo $trail?><?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><span class="<?php echo $trail?><?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?></li>
    ...
    Ich vergleiche die Länge von $item['alias'] mit der Länge von $item['href']. Bei einer Weiterleitung ist das Ziel nämlich anders als der Alias. Da ich meine URLs umschreibe und folderurl benutze, wird bei mir der alias am Ende um '.html' ergänzt. Deswegen muss ich die Länge von $item['alias'] vor dem Vergleich noch mit 5 addieren. Der Vergleich der Stringlänge war erstmal einfacher, als ein direkter Stringvergleich. Ein direkter Stringvergleich wäre natürlich sicherer.

    In der Zeile nach dem Vergleich muss das Wort 'active' zweimal durch '<?php echo $trail; ?>' ersetzt werden.

    Andreas

    Edit:
    Ich vergleiche jetzt direkt die Strings (nicht mehr die Anzahl der Buchstaben) von href und alias, nachdem ich aus href sowohl 'index.php/' als auch '.html' entfernt habe. Wer seine URLs umschreibt, also ohne index.php/ arbeitet, kann das natürlich aus dem Code entfernen - also dann nur: array('.html' => '')
    Angehängte Dateien Angehängte Dateien
    Geändert von Andreas (14.10.2009 um 14:04 Uhr) Grund: Codeverbesserung

  2. #2
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    ich habs gerade mal bei mir probiert, allerdings ohne Erfolg

    wie sieht den der alias und das href aus? bei mir gleich also egal ob eine normale seite oder eine weiterleitung

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

    Lass dir $item['alias'] und $item['href'] einfach mal mit echo ausgeben, direkt über der Abfrage.

    Bei mir sieht das bei Weiterleitungen ungefähr so aus:
    englische Seite Products
    • alias - en/products/
    • href - en/products/product-1.html

    Wäre products keine Weiterleitung würde das so aussehen
    englische Seite Products
    • alias - en/products
    • href - en/products.html

    englische Seite Product 1
    • alias - en/products/product-1
    • href - en/products/product-1.html

    Andreas
    Geändert von Andreas (13.10.2009 um 18:33 Uhr)

  4. #4
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    bei mir sehen beide identisch aus.

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

    Zeigst du mal bitte ein Beispiel?

  6. #6
    Contao-Nutzer
    Registriert seit
    28.06.2009.
    Beiträge
    3

    Daumen hoch

    danke für dein template!

    funktioniert bei mir tadellos! echt spitze!

    grüße scheri

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

    Danke schön, das höre ich gerne

    Und willkommen im TYPOlight Forum

    Andreas

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Klasse "trail" fehlt
    Von micronix im Forum Layout / Templates / Holy Grail
    Antworten: 11
    Letzter Beitrag: 18.01.2011, 14:44
  2. Newsletter und Weiterleitungsseiten
    Von quintacom im Forum Newsletter
    Antworten: 9
    Letzter Beitrag: 09.12.2010, 12:15
  3. Internet Explorer reagiert nicht auf die Klasse .trail
    Von pgrob im Forum Layout / Templates / Holy Grail
    Antworten: 0
    Letzter Beitrag: 09.02.2010, 19:41
  4. "parallele" Navigation mit "active" bzw. "trail" Klasse?
    Von Reimi im Forum Layout / Templates / Holy Grail
    Antworten: 6
    Letzter Beitrag: 22.12.2009, 08:57
  5. Weiterleitungsseite eine trail Klasse verpassen
    Von schman im Forum Sonstiges zu Contao
    Antworten: 4
    Letzter Beitrag: 14.10.2009, 12:37

Lesezeichen

Lesezeichen

Berechtigungen

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