Hier kam die Frage auf, wie man das Navigations-Template nav_default modifizieren kann, damit es mit dem SmartMenus jQuery-Script zusammen passt. Die Anforderung des Scripts ist, dass das erste UL die ID #main-menu hat und die CSS-Klassen "sm sm-clean" (wenn man das Clean-Theme davon einsetzt, sonst die entsprechend anderen Klassen einfügen). Außerdem benötigt das Script die Einstellung das Links auch immer Links bleiben (und sich nicht wie bei Contao üblich in SPAN ändern, wenn sie gerade aktiv sind).
Hier das modifizierte Template:
Und noch ein kleiner Tipp, weil daran immer wieder viele Nutzer verzweifeln:PHP-Code:
<ul <?php if(strpos($this->level, 'level_1')!==false): ?>id="main-menu" <?php endif; ?>class="<?php echo $this->level; ?><?php if(strpos($this->level, 'level_1')!==false): ?> sm sm-clean<?php endif; ?>">
<?php foreach ($this->items as $item): ?>
<?php if ($item['isActive']): ?>
<li class="<?php echo $item['class']; ?>"><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 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>
Damit die Dropdowns in Contao nicht abgeschnitten werden, müsst ihr den "overflow: hidden"-Befehl aufheben, den Contao durch die "block"-Klasse automatisch auf das umliegende NAV-Element legt.
Wenn eure Navigation z.B. im #header liegt, müsst ihr einfach nur dieses CSS ergänzen:
Code:#header nav.block { overflow: visible; }