Barrierefreiheit-Widget: Shop API / Headless
Barrierefreiheit-Widget für Sylius - Shop-API-Endpunkt für headless Storefronts, Anfrage/Antwort-Beispiel, Fehlerformat
Barrierefreiheit-Widget: Shop API / Headless
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Das Plugin ist dual-mode: Dieselben Channel-Einstellungen, die die Twig-Storefront rendert, sind auch über die Shop API lesbar. Die Ressource ist schreibgeschützt und hat nur diese eine Operation.
Endpunkt
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/api/v2/shop/accessibility-settings |
Einstellungen des Channels, den die Anfrage auflöst |
Der Channel wird wie in der Storefront über den Sylius-Channel-Kontext bestimmt (zum Beispiel über den Host der Anfrage); du übergibst keinen Channel-Code.
Anfrage
curl https://shop.example.com/api/v2/shop/accessibility-settings
Antwort
{
"channelCode": "diy",
"position": "bottom_right",
"skipLink": true,
"options": {
"fontSize": true,
"contrast": true,
"colorFilter": true,
"blueLight": true,
"animations": true
}
}
Das Beispiel zeigt nur die eigenen Felder des Plugins. Die Standardantwort der Sylius-API (JSON-LD) enthält zusätzlich die Hydra-Schlüssel @context, @id und @type.
| Feld | Bedeutung |
|---|---|
channelCode |
Code des aufgelösten Channels |
position |
bottom_right oder bottom_left |
skipLink |
Ob der Skip-Link eingeschaltet ist |
options.fontSize |
Werkzeug Schriftgröße |
options.contrast |
Werkzeug Kontrast |
options.colorFilter |
Werkzeug Farbfilter |
options.blueLight |
Werkzeug Blaulichtfilter |
options.animations |
Werkzeug Animationen reduzieren |
Fehlerformat
| Status | Wann |
|---|---|
404 |
Der Channel kann nicht aufgelöst werden, hat keine Zeile, die Zeile ist deaktiviert oder die Einstellungen sind nicht lesbar - dieselbe „nichts anzeigen“-Antwort wie die Storefront |
Eine Headless-Storefront rendert aus dieser Antwort ihr eigenes Widget; die CSS-Klassen aus Storefront-Integration sind dabei nur eine Konvention, keine Pflicht.