tx5tx5 MemberComments: 1 Received thanks: 1 Member since: October 2018

Wie gehe ich am besten vor wenn ich die vorhandene Modernizr-Einbindung in einem abgeleiteten Theme um weitere Funktionalität erweitern will, also mit weiteren Funktionen von Modernizr? Evtl komplett überschreiben? Wenn ja wie?

Thanked by 1arit

Comments

  • aritarit MemberComments: 4 Received thanks: 0 edited June 28 Member since: August 2018

    Du kannst unter https://modernizr.com/ deinen eigen build erstellen und herunterladen. (du kannst dort die features anklicken, die du einbinden willst; standardmäßig nutzt das Responsive Theme diese: https://modernizr.com/download/?cssanimations-flexbox-history-localstorage-sessionstorage-domprefixes-hasevent-mq-prefixes-setclasses-testallprops-testprop-teststyles).

    die heruntergeladene Datei benennst und platzierst du am besten in deinem Theme-Ordner unter `frontend/_public/src/js/vendors/modernizr/modernizr.mycustom.js` (dateinamen kannst du frei wählen).
    anschließend legts du eine neues Template datei an, falls diese in deinem Theme noch nicht existiert: `frontend/index/header.tpl`.
    erweitere das Standard Template (ich gehe davon aus dass du weißt wie das geht)
    und füge dann diesen Block ein:

    
    {block name="frontend_index_header_javascript_modernizr_lib"}
    
    {if !$theme.asyncJavascriptLoading}
    
     <script src="{preload file={link file='frontend/_public/src/js/vendors/modernizr/modernizr.mycustom.js'} as="script"}"></script>
    
    {/if}
    {/block}

    Das sollte funktionieren. Allerdings müsstest du bei updates schauen, dass das wieder die aktuelle Version eingebunden wird. Insofern ist es eher ein Workaround.
  • aritarit MemberComments: 4 Received thanks: 0 edited June 28 Member since: August 2018

    Allerdings würde ich auch genr wissen ob das
    a.) der richtige/beste Weg ist
    b.) wie man verhindert, dass Modernizr mehrfach geladen wird, wenn es bspw. bereits von Plugins eingebunden wird

Sign In or Register to comment.