jQuery nicht gefunden. Brauche Hilfe

Hi

ich stelle grade ein Plugin auf Shopware 5 um und er findet jetzt im view jquery nicht. Das scheint am Ende der Seite eingebunden zu werden. Wie bekomm ich das hin, dass es im view erkannt eird?

danke im voraus!

uwe 

Hey @uweheldt‍,

jQuery wird am Seiten-Ende eingefügt, da HTTP-Requests auf Javascript-Dateien blockend sind und daher das Rendern der Seite blockieren würde, wenn man die Javascript-Dateien im „head“-Element einfügen würde.

Innerhalb eines Templates hast du entsprechend keinen Zugriff mehr auf jQuery, sondern wenn du deinen Code im Block „frontend_index_header_javascript_jquery_lib“ anhängst. Ein netter Seiteneffekt ist, dass man dadurch unsaubere Inline-Skripte los wird.

Schaue gerne mal in unseren Guide zur Programmierung von jQuery Plugins für Shopware 5: https://developers.shopware.com/designers-guide/javascript-statemanager-and-pluginbase/

Viele Grüße,
Stephan Pohl  Shopware

Ja sorry Aber ich will Kein jquery Plugin erstellen sondern einfach jquery nutzen im Template. Was muss ich dazu machen???

Du kannst jquery nicht innerhalb des Templates (vor dem Laden der jquery Bibliothek) nutzen. Du könntest dir zb ein jquery Plugin schreiben, das du unterhalb von jquery einbindest und das nach dem document.ready dein Template ändert.

Viele Grüße

Ich muss eingestehen ich bin nicht der jQuery und JS Experte und eher im PHP Umfeld zu Hause. Kannst Du mir das an einem Beispiel erklären, was Du meinst bzw. was zu tun ist? Im Grunde will ich nur beim Klick auf einen Text im View einen Bereich auf/zu klappen. 

 

Vielen Dank! :slight_smile:

Die einfachste Möglichkeit wäre in deiner Theme.php oder in deinem Plugin eine eigene JS-Datei einzubinden siehe:

Plugin: Shopware 5 Plugin update guide

Theme: Theme.php

und in die Datei schreibst du dann einfach deinen jQuery-Code

$(document).ready(function () {
    $(".deineklasse").click(function() {
        //do something
    })
});

Schöner wäre es natürlich das in richtige jQuery-Plugins zu verpacken, aber das hier tut’s auch. Wenn du mehr lernen willst guck dir den Link von Stephan an.

1 Like