js_mmenu darf nicht im Seitenlayout aktiviert werden.
js_mmenu darf nicht im Seitenlayout aktiviert werden.
Ist wieder raus. mmenu find ich noch immer nicht im Quellcode
Gruß Mark
Wenn du das im Seitenlayout aktivierst, bekommst du im Frontend mit Sicherheit einen JavaScript Fehler . Wenn eine der nächsten Versionen der Extension mal finanziert wird, werde ich den Namen dieses Templates ändern, war unglücklich gewählt.
Keine Ahnung wie, aber ich habs gefunden und es geht wieder
Geändert von kischd (31.01.2020 um 16:53 Uhr)
Gruß Mark
Ich stecke hier auch grad fest. Will nach Ewigkeiten mmenu wieder einsetzen und scheitere.
Link
Seitenlayout, jQuery ist aktiviert:
Bildschirmfoto 2021-04-26 um 23.13.42.png
Activator-HTML-Element:
Modul mmenu - NavigationsmenüHTML-Code:<div class="mobilenavi-activator"><a href="#mobileMenu" class="hamburger"><i></i></a></div>
Bildschirmfoto 2021-04-26 um 23.18.58.png
Ich sehe wohl den Wald vor lauter Bäumen nicht, habt ihr einen Hinweis?
Was mir direkt auffällt ist dass die Konsole meines Browsers JS Fehler für das mmenu.js anzeigt, warum kann ich leider nicht sagen, aber vielleicht schaust Du nochmal ob sich da etwas gegenseitig stört oder die Erweiterung korrekt installiert ist etc.
Danke Spooky, ich vermute auch es liegt an dem wrapper. Das ist nämlich neu. Nur hab ich ja nix sonst. html oder body ändern auch nichts an der Situation.
Ich muss jetzt echt nur dafür extra im fe_page einen wrapper rein packen? Das kam doch jahrelang ohne solchen Quatsch aus >.<
Auch wenn ich es entferne, klappt das nicht. Mom, ich bau es live gleich noch mal so nach.
JS-Fehler ist weg, doch es geht weiterhin nicht
Ich hänge mich hier mal an. Vielleicht haben wir Probleme mit derselben Ursache.
Habe testweise eine Seite mit Modul "mmenu - Navigationsmenu" und eine mit Modul "mmenu - individuelle Navigation" gebaut.
Das Navigationsmenu funktioniert nicht, das nav-Element erscheint nicht im Quellcode (habe es mit und ohne Startpunkt und div. Seiten als Startpunkt ausprobiert). Die Console gibt diesen Javascript-Error aus:
Ich spreche kein Javascript, aber ich nehme an, das ist die Reaktion darauf, dass das Element mit der ID nicht da ist.Uncaught TypeError: Cannot read property 'id' of null
at e.backButton (mmenu.js:12)
at e._initAddons (mmenu.js:1)
at new e (mmenu.js:1)
at HTMLDocument.<anonymous> (mobiles-menü-2021:60)
Die individuelle Navigation hingegen funktioniert wie erwartet.
In die Seite mit den mmenu - Navigationsmenü habe ich das fehlende Nav-Element mal statisch eingefügt mit der entsprechenden ID. Der Link blendet es ein und aus. Es scheint also so zu sein, dass das Modul am Bau des Nav-Elements scheitert.
Geändert von pipkin (01.05.2021 um 21:55 Uhr)
Hallo k-webdesign
So habe ich das dk-mmenu eingebunden:
fe_page.html5 Template
Ein Frontend-Modul einfügen vom Typ: NavigationsmenüHTML-Code:<!DOCTYPE html> <html lang="<?= $this->language ?>"<?php if ($this->isRTL): ?> dir="rtl"<?php endif; ?>> <head> <?php $this->block('head'); ?> <meta charset="<?= $this->charset ?>"> <title><?= $this->title ?></title> <base href="<?= $this->base ?>"> <?php $this->block('meta'); ?> <meta name="robots" content="<?= $this->robots ?>"> <meta name="description" content="<?= $this->description ?>"> <meta name="generator" content="Contao Open Source CMS"> <?php $this->endblock(); ?> HIER KOMMT ALLENFALS DIE ANBINDUNG VON FONTAWESOME HIN <script src="HIER KOMMT DER LINK ZU FONTAWESOME HIN" crossorigin="anonymous"></script> <?= $this->viewport ?> <?= $this->framework ?> <?= $this->stylesheets ?> <?= $this->mooScripts ?> <?= $this->head ?> <?php $this->endblock(); ?> </head> <body id="top"<?php if ($this->class): ?> class="<?= $this->class ?>"<?php endif; ?><?php if ($this->onload): ?> onload="<?= $this->onload ?>"<?php endif; ?> itemscope itemtype="http://schema.org/WebPage"> <?php $this->block('body'); ?> <?php $this->sections('top'); ?> <div id="wrapper"> <?php $this->block('header'); ?> <?php if ($this->header): ?> <header id="header"> <div class="inside"> <?= $this->header ?> </div> </header> <?php endif; ?> <?php $this->endblock(); ?> <?php $this->sections('before'); ?> <?php $this->block('container'); ?> <div id="container"> <?php $this->block('main'); ?> <main id="main"> <div class="inside"> <?= $this->main ?> </div> <?php $this->sections('main'); ?> </main> <?php $this->endblock(); ?> <?php $this->block('left'); ?> <?php if ($this->left): ?> <aside id="left"> <div class="inside"> <?= $this->left ?> </div> </aside> <?php endif; ?> <?php $this->endblock(); ?> <?php $this->block('right'); ?> <?php if ($this->right): ?> <aside id="right"> <div class="inside"> <?= $this->right ?> </div> </aside> <?php endif; ?> <?php $this->endblock(); ?> </div> <?php $this->endblock(); ?> <?php $this->sections('after'); ?> <?php $this->block('footer'); ?> <?php if ($this->footer): ?> <footer id="footer"> <div class="inside"> <?= $this->footer ?> </div> </footer> <?php endif; ?> <?php $this->endblock(); ?> </div> <?php $this->sections('bottom'); ?> <?php $this->endblock(); ?> <?= $this->mootools ?> </body> </html>
|__ bei Experteneinstellungen bei der CSS-ID folgendes einfügen: menu (hier natürlich das was Du drinn haben möchtest, das war glaube ich mobileMenu)
Ein Frontend-Modul einfügen vom Typ: Eigener HTML-Code
|__WICHTIG: im fe_page.html5 muss Fontawesome eingebunden sein (das kann aber auch durch eine Erweiterung geschehen. Ich habe das bei mir so gelöst: Einen Account auf Fontawesome angelegt und den Code dann im fe_page.html5 eingebundenHTML-Code:<div class="offcanvas"><a href="#offcanvas"><i class="fas fa-bars fa-3x"></i></a></div>
Ein Frontend-Modul einfügen vom Typ: mmenu - Navigationsmenü
|
1.png
|
2.png
|
3.png
|
4.png
Die erstellten Frontend-Module im Seitenlayout in der Kopzeile einbinden und danach noch im CSS folgendes einfügen
|
Ich hoffe das ich das gut rübergebracht habeHTML-Code:.offcanvas { display: none; } @media screen and (max-width: 1180px) { .offcanvas { display: block; float: right; margin-top: -85px; margin-right: 20px; } .fas.fa-bars.fa-3x { color: black; font-size: 30px; } #HIER DIE ID EINFÜGEN VON DEINER NORMALEN NAVIGATION { display: none; }
Ja.Hast du das Modul im Seitenlayout eingebunden?
Meine beiden Testseiten unterscheiden sich quasi nur dadurch, dass bei der einen das Nav-Element fehlt.
Javascripte sind identisch.
Werden unterschiedliche Templates dafür genutzt?
Vielleicht sollte ich in die Richtung mal weitergucken...
Habe das Modul nochmal entfernt und neu installiert, danach ging es dann. Vermutlich war was mit dem mod-mmenu.html schief gelaufen.
Jedenfalls geht es jetzt
Geändert von pipkin (02.05.2021 um 15:39 Uhr)
(hat sich erledigt)
Geändert von pipkin (02.05.2021 um 20:58 Uhr)
Möchte oben den Begriff "Menü", der standardmäßig dort erscheint, wenn das mmenu geöffnet wird, updatesicher ändern.
Komme nicht drauf, wie ich das anstellen kann.
versuch mal das . Anlegen in deinem Template Ordner der mmenu_default.html5
Ruhig mal mit der Original Datei vergleichen dann siehst Du die paar Unterschiede
PHP-Code:
// deintemplateordner/mmenu_default.html5
<?php
$GLOBALS['TL_CSS']['contao_dk_mmenu'] = 'bundles/contaommenu/mmenu/mmenu.css|static';
if ($this->options['polyfill']) {
$GLOBALS['TL_JAVASCRIPT']['contao_dk_mmenu.polyfill'] = 'bundles/contaommenu/mmenu/mmenu.polyfills.js|static';
}
$GLOBALS['TL_JAVASCRIPT']['contao_dk_mmenu'] = 'bundles/contaommenu/mmenu/mmenu.js|static';
if ($this->options['drag']['menu']['open']) {
$GLOBALS['TL_JAVASCRIPT']['contao_dk_mmenu.hammerjs'] = 'bundles/contaommenu/hammerjs/hammer.min.js|static';
}
$options = $this->options;
$options['navbar']['title'] = 'mein Text';
?>
<script>
document.addEventListener(
"DOMContentLoaded", function () {
const menu = document.querySelector('#<?= $this->elementId ?>');
if (null !== menu && 0 === menu.querySelectorAll('li.active').length) {
const trails = menu.querySelectorAll('li.trail');
if (0 < trails.length) {
trails.item(trails.length - 1).classList.add('active');
}
}
new Mmenu('#<?= $this->elementId ?>', <?= json_encode($options) ?>, <?= json_encode($this->configuration) ?>);
}
);
</script>
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen