Ich habe mir die Sache noch einmal angeschaut.
Wenn ein neues Plugin im Herstellerbereich angelegt wird, muss ein „Technischer Name“ eingetragen werden.
Das erste Level in der hochzuladenden ZIP-File muss ein Verzeichnis sein, das diesem Technischen Namen entspricht. Entsprechend muss der Namespace und der Bootstrap-Klassename heißen. @oli_ liegt also damit richtig, dass der Herstellername der beginnende Teil des technischen Pluginnamens ist - weil die Oberfläche in Shopware aktuell nicht erlaubt, einen technischen Namen ohne Hersteller-Prefix festzulegen . Trotzdem funktioniert es, wenn der Herstellername als weiterer Teil des Namespaces bestehen bleibt.
Hier ein funktionierendes Beispiel:
https://www.dropbox.com/s/zm0k1825ysh6q58/KilbTestPlugin_working.zip?dl=0
Um die ZIP-Datei zu bauen, lege ich im Verzeichnis des Plugins parallel zum src-Verzeichnis und zur composer.json ein build.sh-Script mit folgendem Inhalt an:
#!/usr/bin/env bash
rm -f KilbTestPlugin.zip &&
cd .. &&
zip -9 -r KilbTestPlugin.zip ./KilbTestPlugin \
-x "*.git*" \
"*.idea*" \
"*.DS_Store*" \
"*build.sh" &&
mv KilbTestPlugin.zip KilbTestPlugin/
@Jens_K eventuell wäre es hilfreich, wenn in der Dokumentation
- noch einmal darauf hingewiesen wird, dass der Plugin-Code in der Zip in einem Verzeichnis mit dem technischen Pluginname als Namen liegen muss
und
- auf das Herstellerprefix im technischen Namen eingegangen wird (also „Swag/SwagBaseClass“ statt "Swag/BaseClass)
oder - der Herstellername nicht mehr als Prefix für Shopware 6-Plugins vorausgesetzt wird.