Sylius Media Alt Text: Shop API
Shop API des Sylius Media Alt Text Plugins: das Feld alt an Produkt- und Kategoriebildern, der Einstellungs-Endpunkt media-alt-text-settings für Headless-Clients und das Verhalten bei ausgeschalteter Ausgabe.
Sylius Media Alt Text: Shop API
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Das Plugin arbeitet in beiden Modi: Die Storefront gibt den Text über Twig aus, die Shop API über ein zusätzliches Feld an jedem Bild.
graph LR
A["Storefront Template"] --> C["Alt-Text-Resolver"]
B["Shop API Anfrage"] --> C
C --> D{"Ausgabe eingeschaltet?"}
D -->|Nein| E["Wie ohne Plugin"]
D -->|Ja| F["Text, dekorativ oder Fallback"]
F --> G["Twig alt-Attribut"]
F --> H["JSON Feld alt"]
Endpunkte
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/api/v2/shop/media-alt-text-settings |
Liefert, ob die Ausgabe eingeschaltet ist |
GET |
bestehende Shop-API-Ressourcen mit Bildern | Jedes Bild trägt zusätzlich alt |
Das Plugin bringt nur den Einstellungs-Endpunkt als eigene Ressource mit. Alle anderen Bilder (z.B. in /api/v2/shop/products/{code}) bekommen das Feld über einen Serializer-Eingriff.
Das Feld alt
Jedes Produkt- und Kategoriebild, das die Shop API ausgibt, trägt alt, aufgelöst für die Sprache der Anfrage:
{
"type": "main",
"path": "ab/cd/mug.jpg",
"alt": "Eine blaue Tasse auf einem Tisch"
}
- Ein dekoratives Bild liefert
"alt": "". - Ohne gepflegten Text greift der Fallback (Name von Produkt bzw. Kategorie).
- Ist die Ausgabe ausgeschaltet, fehlt das Feld
altganz. decorativeundaltTextsgibt die Shop API nicht aus, sie gehören zur Admin API.
Einstellungs-Endpunkt für Headless-Clients
curl -s https://shop.example.com/api/v2/shop/media-alt-text-settings -H 'Accept: application/json'
{ "active": true }
Das einzige Feld ist active. Ein Headless-Frontend kann daran erkennen, ob es dem Feld alt trauen soll. Der Endpunkt meldet auch dann false, wenn die Tabelle des Plugins noch fehlt (Setup-Befehl noch nicht gelaufen).
Fehlerformat
Die Shop-Endpunkte des Plugins sind rein lesend. Es gibt keine eigenen Fehlerantworten, es gelten die Standardantworten von API Platform. Schreibfehler (422) betreffen nur die Admin API.