Installation
Diese Seite beschreibt das Aufsetzen des SalesRepresentative-Plugins in einer existierenden Shopware-6.7-Instanz. Shopware-Plugin-Grundwissen (plugin:refresh, plugin:install, Composer-Plugin-Format) wird vorausgesetzt.
Plugin-Quellen
Das Plugin wird als shopware-platform-plugin verteilt. Composer-Name: leoparden/sales-representative. PHP-Namespace: Leoparden\SalesRepresentative, Plugin-Klasse: Leoparden\SalesRepresentative\SalesRepresentative.
1. Plugin auschecken
Quelle nach custom/plugins klonen
Wechsle in das Shopware-Root deiner Installation.
- git clone <repo-url> custom/plugins/SalesRepresentative
Composer-Dependencies (
leoparden/plugin-license-manager) werden vom Shopware-Plugin-Loader automatisch aufgelöst.
2. Installation und Aktivierung
Plugin registrieren
- bin/console plugin:refresh
- bin/console plugin:install --activate SalesRepresentative
- bin/console cache:clear
Die Aktivierung führt automatisch die Datenbank-Migrationen aus und legt die Custom-Fields, den Medienordner und den Mail-Template-Type an.
Angelegte Tabellen
leoparden_sales_representative— Vertreterprofilleoparden_sales_representative_affiliate_code— AffiliateCodes je Vertreterleoparden_sales_representative_customers— Junction Kunde ↔ AffiliateCodeleoparden_sales_representative_order_extra— Checkout-Daten je Warenkorb-Token
3. Custom-Fields und Medienordner
postInstall (bzw. update) erzeugt idempotent zwei Custom-Field-Sets über die DAL (custom_field_set.repository) — ein erneuter Lauf aktualisiert bestehende Felder, statt sie zu duplizieren:
Field-Set | Entität | Felder |
|---|---|---|
|
|
|
|
|
|
Zusätzlich wird ein Medienordner „Sales Representatives" angelegt und seine ID in der SystemConfig unter salesRepresentativeDefaultMediaFolder hinterlegt. Existiert die Config bereits, wird der vorhandene Ordner wiederverwendet.
4. Mail-Template
Für die Kunden-Einladung wird der Mail-Template-Type sales_representative_mail registriert (verfügbare Entities: customer, salesRepresentative). Das zugehörige Flow-Event ist Leoparden\SalesRepresentative\Core\Framework\Event\CustomerInviteEvent und im Flow Builder als Auslöser nutzbar.
5. SystemConfig
Im Admin unter Einstellungen → System → Plugins → SalesRepresentative:
Schlüssel | Default | Bedeutung |
|---|---|---|
| aus | Erlaubt die Erst-Zuordnung eines Kunden zu einem Vertreter über den AffiliateCode-URL-Parameter |
| aus | Erlaubt den Wechsel eines bereits zugeordneten Kunden zu einem anderen Vertreter über den URL-Parameter |
| (bei Install gesetzt) | Medienordner für hochgeladene Vertreter-Profilbilder |
6. Frontend-Assets
Im Storefront-/Admin-Mode müssen die Bundle-Assets gebaut werden (aus dem Shopware-Root):