Markus Michalski FAQ

Barrierefreiheit-Widget: Erweiterbarkeit

Barrierefreiheit-Widget für Sylius - öffentliche Interfaces zum Dekorieren, Template-Override-Punkt, intern markierte Klassen

English Version

Zurück zur Übersicht

Barrierefreiheit-Widget: Erweiterbarkeit

Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net

Öffentliche Erweiterungspunkte

Service / Interface Zweck
WidgetConfigResolverInterface (mmd_sylius_accessibility.widget_config_resolver) Löst die Konfiguration für einen Channel-Code auf und liefert null, wenn nichts angezeigt werden soll; dekorierbar, um z. B. eine andere Quelle als die eigene Tabelle anzubinden
ChannelSettingsRepositoryInterface (mmd_sylius_accessibility.channel_settings_repository) Liest/schreibt die Channel-Zeile (findOneByChannelCode, save); dekorierbar für eigene Caching-Strategien
skip_target.html.twig Override-Punkt, falls dein Theme den Inhaltsbereich an anderer Stelle platziert: templates/bundles/MmdSyliusAccessibilityPlugin/shop/skip_target.html.twig in deiner Anwendung (siehe Storefront-Integration)

Die Twig Hooks aus Storefront-Integration lassen sich mit den üblichen Mechanismen von Sylius Twig Hooks anpassen, etwa um das Widget an anderer Stelle zu rendern.

Interne Klassen

ChannelSettingsFormType, AdminMenuListener und AccessibilityTwigExtension (Twig-Funktionen mmd_accessibility_config, mmd_accessibility_asset_url, mmd_accessibility_plugin_version) sind im Quellcode als @internal markiert: Sie sind nicht Teil der Erweiterungs-API und können sich in einem Minor-Release ändern. Baue nicht gegen ihre Konstruktor-Signatur.

Die Entity ChannelSettings implementiert ChannelSettingsInterface (Sylius ResourceInterface) und ist nicht final, folgt also dem Sylius-üblichen Muster für eigene Resources.