Ja, da wird es komplizierter: http://de.contaowiki.org/Eigene_Temp...C3%B6glichkeit
Druckbare Version
Ja, da wird es komplizierter: http://de.contaowiki.org/Eigene_Temp...C3%B6glichkeit
So, es funktioniert prinzipiell, aber man sieht das menü nicht da es ausgeblendet ist. Das liegt daran das es Klassen mitbekommt die auch Untermenüs bekommen (mm-hidden)...
Das heißt es liegt jetzt in einem ul was ich aber nicht sichtbar bekomme - denn die tatsächlichen Unterpunkte des Menüs sollen ja unsichtbar bleiben.
@spooky hast Du noch eine Idee, evtl. muss man das doch anders einbinden anstatt unterhalb...PHP-Code:
<?php echo $this->items; ?>
Aber wie gesagt, das ist schon fast gut ;-) von daher schon mal vielen Dank für Deine Hilfe spooky.
Bevor die Frage nach einem Link kommt, ich teste lokal - sorry.
LG
Bennie
Link wäre hilfreich, denn ich habe das Problem nicht verstanden ;)
Hm, also es gibt ja die Möglichkeit, wie bei einer normalen Navigation auch, Untermenüs anzuzeigen. Das Zusammenführen der beiden Navis (also Navigationsmenü und individuelles Navigationsmenü) führt dazu, dass sich die individuelle Navi ebenfalls im ausgeblendeten Zweig befindet bzw mit den Klassen ausgegeben wird die es unsichtbar machen.
Bei dem folgenden Code siehst Du ul id="mm-4" mit class="level_1" - das ist das per inserttag eingefügte Menü -
mm-0 ist das Hauptmenü - die anderen mm-1 bis mm-3 sind die jeweiligen Untermenüs .
Viielleich verstehst Du es jetzt ;)
PHP-Code:
<nav id="mmenu" class="mod_mmenu block mm-menu mm-horizontal mm-slide mm-zoom-panels mm-light mm-offcanvas mm-top mm-front mm-hassearch mm-current mm-opened">
<div class="mm-search">
<a class="invisible" href="ueber-uns.html#skipNavigation109">Navigation überspringen</a>
<a id="skipNavigation109" class="invisible"> </a>
<ul id="mm-0" class="level_1 mm-list mm-panel mm-opened mm-current">
<ul id="mm-1" class="level_2 mm-list mm-panel mm-hidden">
<ul id="mm-2" class="level_2 mm-list mm-panel mm-hidden">
<ul id="mm-3" class="level_2 mm-list mm-panel mm-hidden">
<ul id="mm-4" class="level_1 mm-list mm-panel mm-hidden">
</nav>
Nein, leider immer noch nicht. Poste außerdem den tatsächlich Source Code, nicht den DOM nachdem das JavaScript aktiv war.
Du meinst jetzt aus der mod_mmenu_custom ?
Nein, den fertigen HTML Code. Im FireFox Rechtsklick - Seitenquelltext anzeigen. Dann den Teilsuchen und posten.PHP-Code:
<nav id="mmenu">...</nav>
Es kann sein dass ich mich irre und mmenu doch nicht so mit dem HTML Code umgeht, wie ich mir das dachte. Theoretisch solltest du folgende Struktur haben:PHP-Code:
<nav>
<ul class="level_1"> <!-- Navigation -->
…
</ul>
<ul class="level_1"> <!-- Custom Navigation -->
…
</ul>
</nav>
Ach so, können wir uns sparen ;) - es ist genau wie Du schreibst, aber das JS macht dann das oben erwähnte daraus... da muss man dann wohl eher in dem js_mmenu template ansetzen..
Nein, es gibt doch eine Lösung dafür. Ist nur etwas aufwändiger und muss erst Zeit dazu finden, es hier zu beschreiben ;). Aber kurz gesagt: du musst einfach dafür sorgen, dass das HTML-Endergebnis so aussieht:PHP-Code:
<nav>
<ul>
<li></li>
…
</ul>
</nav>
Ah ja, das ist prinzipiell klar , aber das werde ich wohl nicht hinbekommen, du wirst wieder, wie so oft eine respektable Lösung posten, lieber spooky!
Du postest so viele Lösungen - Danke! Das Danke darf ich sicher auch mal im Namen aller hier aussprechen :)
Also, wir brauchen zu erst mal 3 verschiedene, individuelle Templates. Ein angepasstes mod_navigation Template und zwei angepasste nav_default Templates. Der Inhalt dieser Templates ist wie folgt:
mod_navigation_mmenu_customnav_mmenuPHP-Code:
<?= $this->items ?>
nav_mmenu_customPHP-Code:
<ul class="<?= $this->level ?>" role="<?= ($this->level == 'level_1') ? 'menubar' : 'menu' ?>">
<?php foreach ($this->items as $item): ?>
<?php if ($item['isActive']): ?>
<li class="<?= $item['class'] ?>"><span class="<?= $item['class'] ?>" role="menuitem"<?php if (!empty($item['subitems'])): ?> aria-haspopup="true"<?php endif; ?>><?= $item['link'] ?></span><?= $item['subitems'] ?></li>
<?php else: ?>
<li<?php if ($item['class']): ?> class="<?= $item['class'] ?>"<?php endif; ?>><a href="<?= $item['href'] ?>" title="<?= $item['pageTitle'] ?: $item['title'] ?>"<?php if ($item['class']): ?> class="<?= $item['class'] ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?= $item['accesskey'] ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?= $item['tabindex'] ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?= $item['target'] ?> role="menuitem"<?php if (!empty($item['subitems'])): ?> aria-haspopup="true"<?php endif; ?>><?= $item['link'] ?></a><?= $item['subitems'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
<?php if ($this->level == 'level_1'): ?>
…
<?php endif; ?>
</ul>
Dann erzeugen wir uns die entsprechenden Module: ein reguläres mmenu - Navigationsmenü und dann beliebige andere Navigationsmenüs (kein mmenu Modul jeweils). Dem mmenu - Navigationsmenü wird das nav_mmenu Template zugewiesen, den anderen Navigationsmenüs wird das nav_mmenu_custom und das mod_navigation_mmenu_custom Template zugewiesen.PHP-Code:
<?php if( $this->level != 'level_1' ): ?>
<ul class="<?= $this->level ?>" role="<?= ($this->level == 'level_1') ? 'menubar' : 'menu' ?>">
<?php endif; ?>
<?php foreach ($this->items as $item): ?>
<?php if ($item['isActive']): ?>
<li class="<?= $item['class'] ?>"><span class="<?= $item['class'] ?>" role="menuitem"<?php if (!empty($item['subitems'])): ?> aria-haspopup="true"<?php endif; ?>><?= $item['link'] ?></span><?= $item['subitems'] ?></li>
<?php else: ?>
<li<?php if ($item['class']): ?> class="<?= $item['class'] ?>"<?php endif; ?>><a href="<?= $item['href'] ?>" title="<?= $item['pageTitle'] ?: $item['title'] ?>"<?php if ($item['class']): ?> class="<?= $item['class'] ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?= $item['accesskey'] ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?= $item['tabindex'] ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?= $item['target'] ?> role="menuitem"<?php if (!empty($item['subitems'])): ?> aria-haspopup="true"<?php endif; ?>><?= $item['link'] ?></a><?= $item['subitems'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
<?php if( $this->level != 'level_1' ): ?>
</ul>
<?php endif; ?>
https://community.contao.org/de/atta...1&d=1436775414
Nach der Erstellung der Module editiert ihr nochmal das nav_mmenu Template und fügt hiereure weiteren Navigationsmodule ein, also zBPHP-Code:
<?php if ($this->level == 'level_1'): ?>
…
<?php endif; ?>
Das heißt also: das reguläre mmenu - Navigationsmenü Modul gibt auch (per Inserttag) andere Navigationsmodule mit aus, während diese Navigationsmodule einerseits kein HTML rund um deren Navigationselemente ausgeben und andererseits auch für das erste Level kein <ul>…</ul> ausgeben.PHP-Code:
<?php if ($this->level == 'level_1'): ?>
{{insert_module::17}}
{{insert_module::18}}
<?php endif; ?>
Super! Hat auf Anhieb funktioniert :)
Vielleicht baut Dirch das mal mit ein, aber so geht es auch wunderbar.
LG
Bennie
hallo zusammen
gibt es eine einfache möglichkeit, im menü die unterpunkte gleich aufzuklappen? sprich, ich möchte die untermenüs auf einen blick ersichtlich haben und nicht erst per pfeil aufklappen.
danke und gruss
andi
danke für das feedback. nun weiss ich was sache ist :)
Hallo,
mich würde es interessieren ob es eine Möglichkeit gibt, das Menü bei mouseover über das "Menübild" einzublenden?
Irgendwie komm ich da nicht weiter oder stell mich recht an ;-)
Danke schon mal!
Tino
Hey!
Ich habe mal angefange mit meiner ersten "Mobile-first" - Seite.
Die Erweiterung gefällt mir sehr gut, allerdings schiebt sich das Menü etwas unsanft in die Seite. Und vor allem auch zurück. kann man da irgendwie was machen?
Es schiebt sich nur von ca. 70 - 100 % der Strecke sanft rein. ab 70% des Ausfahrens ist es dann plötzlich abrupt da bzw. beim Einfahren fährt es nur bis 70% ein und dann verschwindet es plötzlich.
Ich hoffe die Beschreibung ist okay :-)
hier der link:
http://www.labrador-vomhisselsberg.de
Spiel mal mit der Einstellung bzgl. des Hintergrunds herum und/oder lege das Menü mal auf die gleiche Ebene oder dahinter und nicht darüber.
Jou, danke, funzt!
Habe das Häkchen bei "Menü hineingleiten" weggemacht, schon gleitet es hinein :D
Hallo,
kann man das Menü so einstellen, das der leere Bereich unter dem letzten Menüpunkt nicht mehr so groß ist?
Ich setze die Navigation von oben kommenden ein und es wäre echt klasse wenn sie dann nicht mehr ganz so groß ist.
gruß
Ich habe die CSS Anweisungen mal auskommentiert, aber das Menü hat trotzdem den großen Abstand. Den Text, Hintergrund und Farbe kann ich ohne Probleme ändern. Nur die Anweisung die den Hintergrund so groß macht habe ich noch nichtgefunden. Naja, weitersuchen...
Hallo Emma,
vermutlich hast du immer die voreingestellen 80% Höhe.
Versuch mal, ob du das hiermit ändern kannst:
Es kann aber sein, dass dieser Wert immer durch das JS überschrieben wird.Code:.mm-menu.mm-front.mm-top, .mm-menu.mm-front.mm-bottom {
height: 50%;
}
Gruß, folkfreund
Das war es leider auch nicht. Ich denke mittlerweile auch, das die Lösung ehr im JS zu suchen ist. Nur da habe ich bislang keine Höhenangabe oder ähnliches gefunden. Wird nicht langweilig...
Noch eine Anmerkung:
Bei einem vertikalen Menü die Höhe zu begrenzen geht natürlich nur, wenn die Zahl der Menüeinträge bekannt, klein und unveränderlich ist - auch in den Unterebenen.
@folkfreund, dein Hinweiß mit den Klassen hat mich dann doch endlich auf den richtigen Weg gebracht:-)
In folgender Datei kann man das von mir gewünschte einstellen.
system -> modules -> dk_menu -> assets -> css -> extensions -> jquery.mmenu.positioning.css
Dort findet sich ganz unten:
.mm-menu.mm-front.mm-top, .mm-menu.mm-front.mm-bottom {
height: 80%;
min-height: 140px;
max-height: 880px; }
Ich habe jetzt ein wenig experimentiert und komme mit folgendem gut zurecht:
.mm-menu.mm-front.mm-top, .mm-menu.mm-front.mm-bottom {
height: 250px; (hier also von Prozent auf Pixel gewechselt)
min-height: 140px;
max-height: 880px; }
Das habe ich nun mit verschiedenen Endgeräten und Ausrichtungen probiert und es klappt gut.
Vielen Dank für den "Schubs" in die richtige Richtung
Super!
Jetzt aber trotzdem noch die Frage, warum sich die Einstellungen nicht durch eigenes CSS überschreiben lassen (das war meine ursprüngliche Idee).
Wenn du die von dir gefundene Datei editierst, dann ist das nicht updatesicher.
Ob du die Höhe besser in Prozent, Pixel oder em angibst, hängt wohl auch davon ab, wie die Menüeinträge gestyled sind. Eine Änderung der Schriftgröße sollte sich z.B. auch in der Anpassung der Menühöhe äußern. Ich würde also eher zu em tendieren.
Ich werde, nach einer kurzen Pause, weiter versuchen einige Dinge zu optimieren. Fürs erste bin ich zufrieden das es funktioniert.
Das Menü wird von mir ja individuell angepasst, deswegen ist die Frage nach ändern der Schriftgröße und Anzahl der Menüpunkte vorab geklärt.
Klasse, super Erweiterung, herzlichen Dank dafür und auch den Best-Support in den relevanten Threads, ebenso für die zügige Weiterentwicklung.
Die neueste Version installiert, unter Cto. 3.5, läuft alles bestens, keine Probleme.
Ich weiß nicht ob es schon angesprochen wurde, aber wird es ein Update geben damit mal die Script-Dateien auf den neusten Stand gebracht werden? Gibt ja schon die 5.5.
Würde mich freuen.
Hallo,
erst einmal danke für die tolle Erweiterung. Ich würde das Menü gerne so wie auf der download-Seite http://mmenu.frebsite.nl/ gestalten. D.h. keine zwei Links (Pfeil + Menüpunkt) sondern nur ein Link, der bei Klick immer automatisch die Unterpunkte anzeigt, falls welche vorhanden sind.
Kann man das irgendwo einstellen?
Es können nur dann keine 2 Links sein, wenn sich hinter dem Menüpunkt nur Unterpunkte befinden, er aber keiner Seite zugeordnet ist. Das ist auch auf der Download-Seite so.
Wäre also die Anforderung, im Contao-Menü Unterstrukturen ohne Seiten anzulegen... Irgendwer hat schonmal nach sowas gefragt. Ich finde es aber gerade nicht.
Gruß, folkfreund
Wenn ich dich richtig verstanden habe, dann willst du, unabhängig von mmenu, eine Seitenstruktur in Contao realisierieren, wo der Hauptmenüpunkt nicht anklickbar ist. Dazu gibt es verschiedene Wege. Einer davon ist über die Extension [m17PageFolders].
hmm das sollte aber an sich dann nicht mit der mmenu erweiterung zusammen klappen, da diese ja nur das contao menü nutzt.
Andere Lösung:
Man modifiziet das Template nav_default nach folgender Anleitung http://de.contaowiki.org/Navigations...icht_verlinken und vergibt den jeweiligen Menüpunkten die Klasse "nonavLink".
Ich habe das Template so modifiziert, dass alle obersten Menüpunkte automatisch nicht verlinkt werden:
also einfach die Abfrage aus der AnleitungPHP-Code:
<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($this->level !== 'level_1'):?>
<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($this->level !== 'level_1'):?></a>
<?php else: ?></span>
<?php endif; ?>
<?php echo $item['subitems']; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
durch folgende ersetztPHP-Code:
<?php if(strpos($item['class'], 'nonavlink')===false):?>
PHP-Code:
<?php if($this->level !== 'level_1'):?>
Ich habe ein Skript eingebaut (scrollTofixed), damit das Menü an der obereren Stellen stehen bleibt.
Jedoch funktioniert es nicht im Zusammenspiel mit dem dk_mmenu. Beide funktionieren einzeln, wenn
ich sie jedoch zusammen einbinde, bleibt der Button oben stehen, das Navigationsmenü wird aber auch
links angezeigt.
Vielleicht hat jemand das gleiche Problem und kann mir einen Tipp geben. Im Moment habe ich es so gelöst,
dass der Link nicht im Header gefixt wird.
Gruss
Frank
Hallo, halli,
hoffe der Thread wird noch besucht.
Also:
ich bin dabi zu lernen. Die normale Website tuts. Zweites layout gemacht und via media-query seprarate css geladen. Funktioniert soweit. Contao ist aktuell. Nun habe ich mich an einem Menü versucht. Die dk.-menu-Erweiterung installiert, Datenbank aktualisiert.
html-Code-Schnipselund Modul mmenu ins mobile Layout eingebunden. id vergeben. Datenbankupdate.HTML-Code:<a href="#MobileNavigation" id="MobileNavigation"><img src="files/images/menuimg.png" alt="" title="Menu"></a>
Nichts. Telefon genommen und lokale Seite xampp aufgerufen. Es wird nichtmal die Link-Grafik aufgerufen. mobil.css, das passende Layout. Aber kein Menu.
Aber die Position des layers auch mal auf "davor" geändert.
Position in Hauptspalte gesetzt, nur um irgendwas zu sehen. Nichts.
Erweiterung reparieren/aktualisieren. 60 Dateien unverändert.
Anderes template versucht, nichts.
Muss ich noch an irgendeiner Schraube drehen?
mfG
tsunami
Link zur Seite?
Ist die CSS ID deines mmenu Navigationsmoduls auch tatsächlich "MobileNavigation"?
Habs kontrolliert. Per d&d.
Link ist schwer, da ich erst lerne und das ganze erstmal lokal rund kriegen und verstehen möchte. Was mich irritiert ist, dass doch zumindest das Link-Bild erscheinen sollte.
Ok, nun habe ich gesehen, dass ich bei wildem wischen das Menü zu sehen bekomme.
-> Eintrag "Menü durch zehen der Seite öffnen".
Leer, schwarzer Kasten.
Muss ich da nun das ganze noch via css anpassen?
Irgendwo muss ich doch sicherlich auch die Inhalte festlegen oder sollte sich das automatisch aus der Seitenstruktur ergeben?
Fragen über Fragen...;)
Hi,
also wenn ich die Seite auf dem Telefon aufrufe, sehe ich nur den Inhalt. Wische ich von links nach rechts geht das Menü auf. Das heißt, ich sehe die drei Balken (img). und es geht ein großer schwarzer kasten auf und legt sich über die Seite.
In dem Kasten müsste aber doch sowas wie: Über uns, Anfahrt, Kontakt usw. auftauchen. Eben die Seiten aus der Struktur.
Normal ist es doch so, dass beim Seitenaufruf oben rechts oder links ein Link auftaucht (Text oder Grafik). Tippe ich da drauf, kann ich die entsprechenden Seiten auswählen, oder nicht?
Ohne Link zur Seite ist es schwierig festzustellen, was schief läuft. Den kompletten HTML Source (nicht per Developer Tools) über pastebin wäre aber schon mal hilfreich.
Doofe Frage, aber wenn ich den QC vom Desktop kopiere, bringt das was? Für Mobil wird doch ein anderes Layout geladen. Nur vom Smartphone bekommeich doch ohne weiteres keinen sc, oder?
So kenne ich das. Google Fotos.
Hallo,
also hier eine Testumgebung:
http://mobiltest.olivereikel.de/
Also ich vermute mal, der Fehler ist so offensichtlich, dass man ihn schon wieder leicht übersieht. Du hast dem Button bzw dem Link, die id MobileNavigation gegeben. Die ID solltest du deinem mmenu-Navigationsmodul geben. So wie das da in deinem Quellcode steht, wäre das ein Link auf den Link selbst, aber nicht auf das Navigationsmodul.
So in etwa?
http://screencast.com/t/mFZm6CrJs
Spoky, womit hast Du die Seite aufgerufen? Desktop?
Hurra,
danke. Endlich. Zumindest erstmal ein menü! Aber nur wenn ich wische und das Menü geht über die ganze Länge der Seite. Das ist dann css?
Einfach das Bildchen mit den drei Balken und dann ein Menü welches so lang ist, wie es Einträge gibt ist css?
Man kann es auf deiner Seite immer noch nicht testen.
Wie jetzt?
habe die Siete aufgerufen. Komisch ist nur, dass das Layout nur auf dr ersten Seite geladen wird. Unterseite und es wird das Desktoplayout geladen...
Und der Link ist plötzlich mitten auf der Seite...
;(
Was passiert?
Ja, bei mir wird dort immer noch kein mobiles Seitenlayout angezeigt.
bei mir tuts wenigstens die erse Seite...
http://screencast.com/t/0ruyLxxOO
Vielen Dank für heute für Deine Hilfe.
Habe es nun so halb hinbekommen. Zumindest auf meinem z1 "funktioniert" es.
allerdings grausam. Antippen geht, aber dann kommt ein riesiger Block über die Seite. 200% zu groß.
Und dann ist der Rest wahrscheinlich fummelige Handarbeit mit css...
Zeilenhöhe, Spaltenbreite, Hintergrund, Schriftgröße....
Komisch. Vielleicht muss das System auch einfach etwas ruhen. So dass morgen cache etc. neu geladen wird.
Bei mir ist alles matsche im Moment...
200%? Das sieht nach den normalen 80% aus.
sieht doch gut aus. so wie es soll :)