Mehrsprachigkeit: Sprach-Zuordnung pro Storefront #11

Closed
opened 2026-05-10 16:43:30 +00:00 by csaeum · 1 comment
csaeum commented 2026-05-10 16:43:30 +00:00 (Migrated from gitlab.localdomain)

Pro Storefront die Shopware-Sprache konfigurierbar machen:

  • Feld: Shopware Language ID (aus Shopware Admin API)
  • Feld: ERPNext Language (z.B. de, en)
  • Wird beim Artikel-Push für sprachspezifische Beschreibungen verwendet
  • Ermöglicht z.B. CH-Storefront mit Deutsch, INT-Storefront mit Englisch
Pro Storefront die Shopware-Sprache konfigurierbar machen: - Feld: Shopware Language ID (aus Shopware Admin API) - Feld: ERPNext Language (z.B. `de`, `en`) - Wird beim Artikel-Push für sprachspezifische Beschreibungen verwendet - Ermöglicht z.B. CH-Storefront mit Deutsch, INT-Storefront mit Englisch
Owner

Umgesetzt: neues Feld Shopware Storefront Domain.shopware_language_id (Data, read-only) pro Domain-Zeile — das "ERPNext Language"-Feld gab es durch #7 (domains-Kindtabelle) bereits.

Der bestehende Fetch-Button/-Methode aus #8 wurde erweitert und umbenannt: fetch_sales_channel_id() → fetch_shopware_mapping() — löst jetzt beides in einem Aufruf: sales_channel_id am Storefront und shopware_language_id pro passender Domain-Zeile, da beides aus derselben GET /api/sales-channel-domain-Antwort kommt.

Live verifiziert: languageId ist tatsächlich Teil der Shopware-Antwort pro Domain (Annahme aus der Recherche bestätigt), Round-Trip-Test mit echter Domain hat sowohl sales_channel_id als auch shopware_language_id korrekt befüllt und gespeichert.

Weder Julian noch Marcel1 persistieren eine Shopware-Language-ID irgendwo — Marcel löst das dynamisch zur Laufzeit beim Push auf (payload.py:_all_shopware_languages(), Redis-gecacht). Details in Projekt.md → Architecture Decisions.

Schließe dieses Issue — damit ist Milestone 3 vollständig.

Umgesetzt: neues Feld `Shopware Storefront Domain.shopware_language_id` (Data, read-only) pro Domain-Zeile — das "ERPNext Language"-Feld gab es durch #7 (`domains`-Kindtabelle) bereits. Der bestehende Fetch-Button/-Methode aus #8 wurde erweitert und umbenannt: `fetch_sales_channel_id()` → `fetch_shopware_mapping()` — löst jetzt beides in einem Aufruf: `sales_channel_id` am Storefront **und** `shopware_language_id` pro passender Domain-Zeile, da beides aus derselben `GET /api/sales-channel-domain`-Antwort kommt. Live verifiziert: `languageId` ist tatsächlich Teil der Shopware-Antwort pro Domain (Annahme aus der Recherche bestätigt), Round-Trip-Test mit echter Domain hat sowohl `sales_channel_id` als auch `shopware_language_id` korrekt befüllt und gespeichert. Weder Julian noch Marcel1 persistieren eine Shopware-Language-ID irgendwo — Marcel löst das dynamisch zur Laufzeit beim Push auf (`payload.py:_all_shopware_languages()`, Redis-gecacht). Details in `Projekt.md` → Architecture Decisions. Schließe dieses Issue — damit ist Milestone 3 vollständig.
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Frappe-Projekte/ecommerce_integrations#11
No description provided.