Navigationspunkt der aktiven Seite verlinken

Aus Contao Community Documentation

Version vom 4. März 2012, 20:40 Uhr von MaTh (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)


betrifft
Contao Version 2.9

Standardmäßig wird in der Navigation der Navigationslink der aktuellen Seite nicht verlinkt. Hier wird gezeigt, wie das Template angepasst werden kann, damit der Link in der Navigation aktiv bleibt.

Änderung des Templates in Contao 2.9

Kopie des Orginaltemplates erstellen

  • unter Layout/Templates
  • Button "Neues Template"
  • das Template (Abschnitt frontend) "nav_default.tpl" auswählen


Genaue Beschreibung zum Bearbeiten eines Templates siehe Artikel Templates_bearbeiten

Template bearbeiten

Quelltext des Orginaltemplates:

<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; ?>">
      <!-- Dieses <span> soll zum Link werden: -->
      <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; ?>>
      <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>

Dabei wird die span-Zeile ausgetauscht:

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

gegen

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

Ergebnis:

 

Änderung des Templates in Contao 2.7

siehe http://jooon.de/node/346

Ansichten
Meine Werkzeuge

Contao Community Documentation

Dann sollte da auch 3.1.5 stehen. Wenn nicht mach mal Systemwartung, dreh dich im Kreis, ruf: "uga uga uga" und opfer ein kleines huhn... aber nur ein KLEINES, ist ja kein major.

Marc Reimann
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge