Warenkorb- & Checkout-Attribute: Erweiterbarkeit
Repository-Interface, eigene Twig-Hookpunkte und die Admin-Menü-Konvention des Sylius-Plugins für andere Plugins und die App.
Warenkorb- & Checkout-Attribute: Erweiterbarkeit
Lesezugriff über Interface und Twig-Funktionen
ProductAttributeDisplayConfigRepositoryInterface ist der Lesezugriff auf die Anzeige-Konfiguration, den auch das Plugin selbst nutzt. Die fünf öffentlichen Twig-Funktionen aus CartCheckoutAttributeValuesExtension (siehe Storefront) sind der eigentliche Erweiterungspunkt für Templates - ein eigenes Theme oder Plugin kann dieselben Funktionen in einem eigenen Template aufrufen, statt die Hook-Templates dieses Plugins zu überschreiben.
Eigene Hook-Punkte
Die Hook-Punkte, die dieses Plugin selbst registriert (Admin-Formular-Karte cart_checkout_display, die fünf attributes-Hookables im Storefront, die Hookables der Einstellungsseite), sind der generische Sylius-Mechanismus - ein weiteres Plugin könnte sich grundsätzlich auch in diese Punkte einhängen. Das Repository selbst dokumentiert das an keiner Stelle als unterstützten Anwendungsfall.
Admin-Menü-Konvention
Der Admin-Sidebar-Eintrag hängt unter einer gemeinsamen Gruppe „MMKreativ Plugins“ (MenuGroup::CODE = 'mmd_plugins'). Diese Klasse ist bewusst keine gemeinsame Abhängigkeit, sondern wird von sibling-Plugins des gleichen Autors (etwa mmd/sylius-product-custom-inputs-plugin) durch Kopieren übernommen, damit mehrere MMKreativ-Plugins dieselbe Sidebar-Gruppe statt je eigener Einträge zeigen. Ein eigenes Plugin, das dieser Konvention folgen will, übernimmt dieselbe CODE-Konstante.
Es gibt keine dokumentierte, versionierte Abwärtskompatibilitäts-Zusage für Interfaces, Service-IDs oder Hook-Namen - die obigen Punkte sind Konventionen, keine vertraglich zugesicherte Schnittstelle.