Ergebnis 1 bis 10 von 10

Thema: Ab einer bestimmten Breite ein anderes Element laden

  1. #1
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Frage Ab einer bestimmten Breite ein anderes Element laden

    Hi zusammen,

    wenn man das Browserfenster zusammenschiebt, kann man ja testen wie sich die Inhaltselemente verhalten - Stichwort responsive. Aber ist es auch möglich, ab einer bestimmten Seitenbreite bei der Desktop Version z.B. das eine Menü durch ein anderes zu tauschen? Also im Grunde ein Austausch des Inhaltselements ab einer bestimmten Browser-Fenster-Breite.

    Geht das?

    LG
    X4all

  2. #2
    Contao-Nutzer Avatar von fivebytes
    Registriert seit
    18.01.2013.
    Ort
    Iserlohn
    Beiträge
    93

    Standard

    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.
    Entspannte Grüße aus Iserlohn
    Stefen

    fivebytes.de - Internetentwicklung & Webdesign | Mit Contao umgesetzt Speedy´s Hamsterseiten

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das Problem hatte ich kürzlich auch. Etwas wirklich elegantes und befriedigendes habe ich nicht gefunden. Ich habe es dann so gelöst, dass ich per CSS mit media query die eine Navigation ausgeblendet und die andere dafür eingeblendet habe (display:none; display:block; )

  4. #4
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Daumen hoch

    Das ist eine gute Idee mit dem Media Query :-) Zwar wäre mir eine Variante mit einem Inserttag am liebsten, aber gut, dann geht man diesen Weg :-)

  5. #5
    Contao-Fan Avatar von dackelchen
    Registriert seit
    24.05.2011.
    Ort
    Kiel
    Beiträge
    672
    User beschenken
    Wunschliste

    Standard

    Ws gibt eine Erweiterung, komme jetzt nicht auf den Namen, die Inhaltslement in Abhängigkeit, davon lädt, ob Du das Desktop oder mobiole Layout lädst, ist zqar nicht genau das, was Du beschreibst, aber vl. kannst Du mit dem Tipp trotzdem was anfangen.

    Wenn es Dir um das Menü geht kannst Du auch einfach zwei Menüs machen, wobei jeweils nur das eine im Layout ist und geladen wird.
    Grüße Edgar
    Dackelalarm

  6. #6
    Contao-Fan Avatar von kos
    Registriert seit
    22.06.2009.
    Ort
    Westerwald
    Beiträge
    888

    Standard

    Zitat Zitat von dackelchen Beitrag anzeigen
    Ws gibt eine Erweiterung, ... die Inhaltslement in Abhängigkeit, davon lädt, ob Du das Desktop oder mobiole Layout lädst...
    Hallo Edgar,

    könnte es sich dabei um die Erweiterung contentSelection handeln?

  7. #7
    Contao-Fan Avatar von dackelchen
    Registriert seit
    24.05.2011.
    Ort
    Kiel
    Beiträge
    672
    User beschenken
    Wunschliste

    Standard

    So, fix mal naxhgeschaut. mobilecontent, scheint aber nicht mehr weiternetwickelt zu werden.
    Grüße Edgar
    Dackelalarm

  8. #8
    Contao-Nutzer
    Registriert seit
    07.12.2009.
    Beiträge
    151

    Standard

    Diese Frage habe ich mir auch schon des Öfteren gestellt. Ich habe aber bisher keine zufriedenstellende Antwort gefunden. Tröstlicherweise ist das Problem auch ohne CMS schon nicht so einfach zu lösen. Die Integration in ein CMS ist da nur eine weitere Hürde

    Ich habe gute Erfahrungen mit https://github.com/Paratron/contao-m...ile-visibility gemacht, was natürlich ebenso wie die von dackelchen genannte Extension mobilecontent nur einen Teil des Problems löst, weil zwischen i) serverseitig und ii) nur zwischen mobile und desktop unterschieden wird, aber nicht clientseitig zwischen genügend und unzureichend viel Platz für ein Element.

    Eine Überlegung wäre vielleicht, einem Element in einem data-Attribut sowohl Breakpoints als auch Inhaltselement-IDs mitzugeben. Ein Javascript könnte dann bei Resize schauen, welches CE geladen werden sollte und das z.B. über die Ajax-Extension von andreas.schempp mit der übergebenen ID nachladen und ersetzen. Alternativ vielleicht eine Liste mit Templates übergeben und das Element/Modul in diesem Template gerendert per Ajax anfordern und ersetzen.

    Das sind meine Überlegungen und ich grübel nachwievor drüber, ob ich nicht doch noch eine Erweiterung dafür entwickle

  9. #9
    Community-Moderator Avatar von stefan-at-work
    Registriert seit
    05.06.2009.
    Ort
    Bad Segeberg
    Beiträge
    1.780
    Partner-ID
    634

    Standard

    für Menuepunkte, Artikel und Inhaltselemente gibt es noch mobile_extended

  10. #10
    Contao-Nutzer
    Registriert seit
    07.12.2009.
    Beiträge
    151

    Standard

    Super guter Tipp, die schaue ich mir später mal an. Danke dir!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •