Hallo X4all,
ich würde das mittels CSS lösen:
HTML-Code:
#navi-main {
display:block;
}
#navi-mobile {
display:none;
}
@media only screen and (max-width: 650px) {
#navi-main {
display:none;
}
#navi-mobile {
display:block;
}
}
Wobei hier eben der Container "navi-main" die normale Desktop Navigation enthält und im Container "navi-mobile" liegt die Navigation für die mobilen Ausgabegeräte(hier ab einer Fenstergrößer von 650px und kleiner).
Wenn es Dir darum geht "unnötigen" doppelten Quellcode zu vermeiden und wirklich nur eine Navigation im Quelltext erscheinen soll, fallen mir evtl. zwei Ansätze ein. Entweder könnte man das über zusätzliche Layouts für die mobilen Seiten direkt im Contao-Backend regeln und dann eben nur die jeweils entsprechenden Navigationsmodule/Scripte usw. dort einbinden oder man müsste das Ganze z.B. in ein Script auslagern, welches dann je nach Auflösung den Code auswirft. D.h. hier wären dann entsprechende Änderungen im Navigations-Template vorzunehmen, aus dem "normalen" HTML müsste ein Script werden.
Ich habe allerdings bisher eigentlich, gerade was unterschiedliche Navigationsformen angeht, immer auf CSS zurückgegriffen.
Lesezeichen