Plugin Reihenfolge der JS-Collection bearbeiten

Ich möchte in meinem Plugin ein jQuery-Plugin eines anderen Plugins erweitern wie in Modify jQuery Plugins beschrieben. Allerdings habe ich das Problem, dass beim Kompilieren und Minifizieren der JS-Datei über Auto-Registration der Collector meine .js vor der .js des zu erweiternden Plugin lädt. Somit steht in der resultierenden JavaScript-Datei das overridePlugin vor der Definition des Plugins und wird ignoriert. 

Mir ist aufgefallen, dass innerhalb meines Plugins die .js in alphabetischer Reihenfolge eingesammelt werden, aber relativ zu anderen Plugins ist die Reihenfolge scheinbar zufällig. Beim durchgehen der kompilierten Datei für 5 Plugins, die alphabetisch mal A, B, X, Y und Z heißen sollen, wurden die .js in dieser Reihenfolge eingebunden: Z > X > B > Y > A

Hierbei sind X, Y und Z Plugins, die ich entwickle, und A und B möchte ich erweitern. Allerdings soll Z sowohl A als auch B erweitern und müsste daher als letztes geladen werden. 

In der plugin.xml ist jeweils ein “requiredPlugin” hinterlegt, dies scheint aber keinen Einfluss auf die Reihenfolge zu haben.

 

Wie erreiche ich, dass meine JavaScript-Dateien “weiter hinten” in der zusammengefassten JavaScript-Datei stehen?

Subscribe dich auf das Event Theme_Compiler_Collect_Javascript_Files_FilterResult und sortier die Files um :slight_smile:

1 Like

@Shyim schrieb:

Subscribe dich auf das Event Theme_Compiler_Collect_Javascript_Files_FilterResult und sortier die Files um :)

Google-Suche nach „Theme_Compiler_Collect_Javascript_Files_FilterResult“ liefert 3 Ergebnisse (demnächst dann 4, wenn Google das hier findet), ist wohl ein Geheimtipp :) 

Aber danke, das Problem lässt sich damit lösen. Trotzdem bin ich etwas verwundert über die scheinbar „zufällige“ Reihenfolge, die standardmäßig angewandt wird.