Navigationspunkte nicht verlinken: Unterschied zwischen den Versionen

Aus Contao Community Documentation

K (Link auf Navigationsartikel eingebaut.)
K (Tipp hinzugefügt)
 
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{AppliesTo|TLVersion=2.8.x|Version=ab 2.9}}
 
{{AppliesTo|TLVersion=2.8.x|Version=ab 2.9}}
[[Category: Module]]
 
 
[[Category: Admin_HOWTOS]]
 
[[Category: Admin_HOWTOS]]
 
Wenn man in der [[ModulNavigation|Navigation]] bestimmte Seiten nicht verlinkt, sondern nur als Überschrift haben will, ist eine Anpassung des Templates notwendig.
 
Wenn man in der [[ModulNavigation|Navigation]] bestimmte Seiten nicht verlinkt, sondern nur als Überschrift haben will, ist eine Anpassung des Templates notwendig.
Zeile 7: Zeile 6:
  
 
Das Template nun wie folgt ändern:
 
Das Template nun wie folgt ändern:
<pre>
+
 
 +
<source lang="php">
 
<ul class="<?php echo $this->level; ?>">
 
<ul class="<?php echo $this->level; ?>">
 
<?php foreach ($this->items as $item): ?>
 
<?php foreach ($this->items as $item): ?>
 
<?php if ($item['isActive']): ?>
 
<?php if ($item['isActive']): ?>
<li class="active<?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>
+
<li class="active<?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: ?>
 
<?php else: ?>
<li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><?php if(strpos($item['class'], 'nonavlink')===false):?> <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 if ($item['target']): ?> <?php echo $item['target']; ?><?php endif; ?>><?php endif; ?><?php echo $item['link']; ?><?php if(strpos($item['class'], 'nonavlink')===false):?></a><?php endif; ?><?php echo $item['subitems']; ?></li>
+
<li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>>
 +
<?php if(strpos($item['class'], 'nonavlink')===false):?>
 +
  <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 else: ?>
 +
  <span class="<?php echo $item['class']; ?>"><?php endif; ?><?php echo $item['link']; ?>
 +
<?php if(strpos($item['class'], 'nonavlink')===false):?></a>
 +
<?php else: ?></span>
 +
<?php endif; ?>
 +
  <?php echo $item['subitems']; ?>
 +
</li>
 
<?php endif; ?>
 
<?php endif; ?>
 
<?php endforeach; ?>
 
<?php endforeach; ?>
 
</ul>
 
</ul>
</pre>
+
</source>
  
 
Als nächster Schritt muss im Modul "Navigation" als Template ''nav_partiallinked.tpl'' gewählt werden.
 
Als nächster Schritt muss im Modul "Navigation" als Template ''nav_partiallinked.tpl'' gewählt werden.
Zeile 24: Zeile 36:
  
 
[[Datei:howto_menu_nicht_verlinken.jpg|Der Seite die Klasse hinzufügen]]
 
[[Datei:howto_menu_nicht_verlinken.jpg|Der Seite die Klasse hinzufügen]]
 +
 +
Will man einen einzelnen Punkt der "Überschrift" in der Navigation per CSS ansprechen, vergibt man zusätzlich neben der Klasse ''nonavlink'' eine weitere, z.B. ''nonavlink pointone''.
 +
 +
 +
'''TIPP:''' Wird 'nonavlink' im Template durch 'submenu' ersetzt, braucht man in der Seitenstruktur keine CSS-Klasse einzutragen. In diesem Fall werden automatisch nur die Menüpunkte nicht verlinkt, die ein Untermenü haben.

Aktuelle Version vom 5. Mai 2013, 11:40 Uhr

betrifft
TYPOlight Version 2.8.x
Contao Version ab 2.9

Wenn man in der Navigation bestimmte Seiten nicht verlinkt, sondern nur als Überschrift haben will, ist eine Anpassung des Templates notwendig.

Dazu das Template nav_default.tpl kopieren und neu benennen (z.b. nav_partiallinked.tpl). Eine Anleitung für die Templatebearbeitung ist hier zu finden.

Das Template nun wie folgt ändern:

<ul class="<?php echo $this->level; ?>">
<?php foreach ($this->items as $item): ?>
<?php if ($item['isActive']): ?>
<li class="active<?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<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>>
<?php if(strpos($item['class'], 'nonavlink')===false):?>
  <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 else: ?>
  <span class="<?php echo $item['class']; ?>"><?php endif; ?><?php echo $item['link']; ?>
<?php if(strpos($item['class'], 'nonavlink')===false):?></a>
<?php else: ?></span>
<?php endif; ?>
  <?php echo $item['subitems']; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>

Als nächster Schritt muss im Modul "Navigation" als Template nav_partiallinked.tpl gewählt werden.

Abschliessend müssen in der Seitenstruktur allen Seiten, die nicht verlinkt werden sollen, die Klasse nonavlink hinzugefügt werden.

Der Seite die Klasse hinzufügen

Will man einen einzelnen Punkt der "Überschrift" in der Navigation per CSS ansprechen, vergibt man zusätzlich neben der Klasse nonavlink eine weitere, z.B. nonavlink pointone.


TIPP: Wird 'nonavlink' im Template durch 'submenu' ersetzt, braucht man in der Seitenstruktur keine CSS-Klasse einzutragen. In diesem Fall werden automatisch nur die Menüpunkte nicht verlinkt, die ein Untermenü haben.

Ansichten
Meine Werkzeuge

Contao Community Documentation

ich hook' mich gleich in die Abstraktion

Martin Mildner
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge