Markus Michalski FAQ

Barrierefreiheit-Widget: Shop API / Headless

Barrierefreiheit-Widget für Sylius - Shop-API-Endpunkt für headless Storefronts, Anfrage/Antwort-Beispiel, Fehlerformat

English Version

Zurück zur Übersicht

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.