Mootools Aufklappmenü MenuMatic: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Vorgehen:)
Zeile 25: Zeile 25:
 
Code:
 
Code:
  
     <ul <?php if ($this->level == 'level_1'): ?>id="nav"<?php endif; ?> class="vlist <?php echo $this->level; ?>">
+
     <nowiki><ul <?php if ($this->level == 'level_1'): ?>id="nav"<?php endif; ?> class="vlist <?php echo $this->level; ?>">
 
     <?php foreach ($this->items as $item): ?>
 
     <?php foreach ($this->items as $item): ?>
 
     <?php if ($item['isActive']): ?>
 
     <?php if ($item['isActive']): ?>
Zeile 34: Zeile 34:
 
     <?php endforeach; ?>
 
     <?php endforeach; ?>
 
     </ul>
 
     </ul>
 
+
</nowiki>
 
'''Anpassungen (2 Stück):'''
 
'''Anpassungen (2 Stück):'''
 
* Das erste <nowiki><ul></nowiki> bekommt die ID 'nav' (darüber kann dann mit JavaScript das Menü angesprochen werden)
 
* Das erste <nowiki><ul></nowiki> bekommt die ID 'nav' (darüber kann dann mit JavaScript das Menü angesprochen werden)

Version vom 22. Juni 2010, 20:43 Uhr

betrifft
TYPOlight Version 2.8.x
Contao Version ab 2.9

Mootools Aufklappmenü MenuMatic in Contao benutzen

Da es immer viele Probleme mit Menüs gibt und sich viele Bewegende Menüs wünschen habe ich mal MenuMatic ( http://greengeckodesign.com/menumatic ) in Typolight eingebaut. Auf der Seite sind auch 2 Beispiele.

Voraussetzung:

Mootools 1.2 (also TL ab 2.8) Grundlegende Erfahrung mit TYPOlight und Seitenstruktur gute CSS-Kentnisse um es genau anpassen zu können für die Grundfunktion so wie es ist keine JavaScript-Kentnisse

Dazu ist eigenltich nicht viel nötig.

Von der Seite ( http://greengeckodesign.com/menumatic ) ganz unten die Dateien herunterladen. Da sind 2 Beispiele drinn:

  • horizontal
  • vertical

Vorgehen:

1. Die benötigten CSS-Dateien importieren (entweder aus dem Ordner horizontal ode vertical, je nach Bedarf). Das CSS für den IE6 dann auch passend mit conditional Comment versehen. Die JS-Datei hochladen (z.B. in den Ordner js). Diese Datei muss lesbar für alle sein.

2. Ein neues Navigation Template erstellen mit diesem Inhalt (nav_MenuMatic.tpl): Code:

   <ul <?php if ($this->level == 'level_1'): ?>id="nav"<?php endif; ?> class="vlist <?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; ?>"><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']; ?>><em><?php echo $item['link']; ?></em></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>

Anpassungen (2 Stück):

  • Das erste <ul> bekommt die ID 'nav' (darüber kann dann mit JavaScript das Menü angesprochen werden)
  • Hier sind auch die aktiven Navi Punkte verlinkt und nicht mit einem span sondern mit em umschlossen. So werden die Beispiele nicht mehr davon beeinflusst und man kann es trotzdem gut mit CSS ansprechen.

3. Ein neues Navigationsmodul (genaueres kann hier nachgelesen werden zu dem Modul -> http://de.contaowiki.org/ModulNavigation) :

  • Startlevel 0
  • Stoplevel 0
  • Referenzseite (keine bzw. Startpunkt oder was man möchte)
  • Navigationstemplate: (das von uns gerade erstellte) nav_MenuMatic.tpl

4. Neues Seitenlayout:

  • Navigationsmodul von gerade da hin packen wo man es haben möchte
  • Eigener JavaScript-Code:

Code:

   <!-- Load the MenuMatic Class -->

    <script src="js/MenuMatic_0.68.3.js" type="text/javascript" charset="utf-8"></script>

    <!-- Create a MenuMatic Instance -->
    <script type="text/javascript" >
    window.addEvent('domready', function() {
    var myMenu = new MenuMatic();
    });
    </script>

(Damit initialisiert man das Menü und kann noch Parameter übergeben. Genaueres ist auf der oben verlinkten Seite zu finden)

CSS-Dateien auswählen:

  • style.css (nur Beispiellayout, also nicht benutzen, wenn man ein eigenes hat!)
  • MenuMatic.css (hier ist alles für die Navi, mit Suckerfish als Grundlage. Hier muss man dann selber die gewünschten Anpassungen vornehemn)
  • MenuMatic-ie6.css (erklährt sich glaube ich von selber *g* - muss eventuell nach eigenen Bedürfnissen angepasst werden)

Soviel zu dem kleinen Tutorial. Natürlich muss das ganze Individuell angepasst werden. Aber das Beispiel Layout dürfte so nun jeder zum laufen bekommen ;-)


Link zum Thread im Forum: Forum-Diskusionsthread


--MacKP 13:34, 20. Jun. 2010 (UTC)

Ansichten
Meine Werkzeuge

Contao Community Documentation

was passiert eigentlich, wenn man per zip alle gezippten cache-css cached, bevor der cache vom apache gezippt wird?

Christian de la Haye
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge