Vorgangsanzeige Vertretererweiterung (Büro+) 1.1.15 Help
Entwickler
Diese Seite beschreibt den Aufbau des Plugins LeopardenBusinessSalesRepresentative und seine Abhängigkeit zu LeopardenBusinessTransactions. Die Details stehen unter Backend (Server-Seite) und Frontend (Templates und JavaScript).
Aufbau
Pfad
Aufgabe
src/LeopardenBusinessSalesRepresentative.php
Plugin-Klasse: legt in postInstall() das Zusatzfeldset an, räumt in uninstall() auf
src/Subscriber/TransactionCriteriaSubscriber.php
Erweitert die Suchkriterien beider Routen des Basis-Plugins
src/Resources/config/services.xml
Registriert den Subscriber mit dem Tag kernel.event_subscriber
Das Plugin enthält keine Migrationen, keine Entitäten, keine Routen, keine Konfiguration und kein Administrations-Bundle. Konstanten der Plugin-Klasse:
Die Entität leoparden_business_transactions_transaction (ENTITY_NAME) erhält das Zusatzfeldset; sie hat die Felder customerId und customFields und die Assoziation customer
Twig-Templates storefront/element/cms-element-transactions.html.twig und cms-element-articles-on-order.html.twig
Werden mit sw_extends erweitert; überschrieben werden die Blöcke transaction_number, header_shipping_date und body_shipping_date
Attribut data-transactions am Listen-Element
main.ts hängt sich an das Ereignis onBeforeFetch dieses Elements
Beide Events tragen Criteria und SalesChannelContext und erlauben, die Kriterien mit setCriteria() zu ersetzen. Die Routen setzen vor dem Ereignis EqualsFilter('customerId', …) beziehungsweise EqualsFilter('transaction.customerId', …) auf den angemeldeten Kunden; genau diese Filter sucht der Subscriber.
Tests
Das Plugin bringt in src/Test/ unter anderem BusinessSalesRepresentativeTest (beide Routen mit und ohne Zuweisung), UninstallTest (Deinstallation, Behalten der Nutzerdaten, erneute Installation) und DocsStructureTest (Struktur dieser Dokumentation). Aufruf über composer test im Plugin-Verzeichnis.