Javascript per Plugin sauber(!) einbinden? Möglichkeit Theme.php zu erweitern via plugin? Od anders?

Hallo werte Geimeinde!

ich versuche gerade eigenes javascript und css in meiner detailseite einzubinden. Das gelingt mir momentan so:

header.tpl erweitere ich mt append die blöcke:

{block name=“frontend_index_header_javascript_tracking” append}

und

{block name=“frontend_index_header_css_screen” append}

so wird mein im Plugin mitgeliefertes JS auch brav geladen. Aber viel zu früh. Shopware bindet sein JS - wie es auch sein soll - am ende des Dokuments ein. Mein JS braucht aber Jquery vorher schon definiert. Ich habe eine Lösung das Laden zu verzögern durch ein setTimeout. Aber das ist nun wikrlich sicher nicht der saubere Weg.

Hat jemand eine Idee wie man sowas sauber angeht, z.B. wie man per Plugin das JS-Array in der responsive/theme.php erweitern kann? Oder gibt es dazu vielleicht eine ganz andere Methode das eigene JS - am besten ganz zuletzt - einzufügen?

Ein Tipp wäre echt nett, google sagt mir dazu nix, bzw auch nur den dirty style den ich da praktiziere…

 

VG

Du kannst dich auf die Events des Compilers registrieren. Es gibt eins für Css/Less und eins für JavaScript.

Erklärt ist das ganze hier:

https://developers.shopware.com/developers-guide/shopware-5-plugin-update-guide/#less

bzw für Javascript etwas weiter unter auf der Seite:

https://developers.shopware.com/developers-guide/shopware-5-plugin-update-guide/#javascript

Dann wird dein Javascript zusammen mit allen anderen JS-Dateien verarbeitet und korrekt eingebunden.

1 „Gefällt mir“

cool vielen dank t2oh4e! blöd dass ich das nich selbst gefunden habe. Ist genau was ich gesucht hab. Danke!