Skip to content

Admin Interface mit Plugin-Konfiguration und Twig-Templates #4

@csaeum

Description

@csaeum

Beschreibung

Das Plugin soll über das Shopware Admin Interface konfigurierbar und ausführbar sein.

Anforderungen

1. Plugin-Konfiguration

  • Twig-Template für Produktnamen: z.B. {{ parentProduct.name }} {{ options|map(o => o.name)|join(' ') }}
  • Twig-Template für Produktnummern: z.B. {{ parentProduct.productNumber }}-{{ options|map(o => o.name|lower|replace({' ': '-'}))|join('-') }}
  • Optionen behalten: --name-only, --number-only, --dry-run als Checkboxen

2. Admin Interface Modi

Der Admin soll drei Modi unterstützen:

Modus A: Alle Produkte (mit Bestätigung)

  • Checkbox: "Alle Produkte mit Varianten aktualisieren"
  • Bei Aktivierung: Bestätigungs-Dialog "Sind Sie sicher, dass Sie alle Produkte mit Varianten überarbeiten wollen?"
  • Führt Update für alle Produkte im Shop aus

Modus B: Produktnummern-Eingabe

  • Textfeld für komma-getrennte Produktnummern (wie CLI)
  • Beispiel: jacket-001, shoes-042, shirt-99
  • Keine zusätzliche Bestätigung erforderlich

Modus C: Erweiterte Produktauswahl

  • Entity-Select mit Autocomplete
  • Mehrfachauswahl möglich
  • Nur Produkte mit Varianten anzeigen
  • Keine zusätzliche Bestätigung erforderlich

3. Ausführung

  • Button "Jetzt ausführen" in der Plugin-Konfiguration
  • Verarbeitung via Message Queue (siehe ci: Bump actions/checkout from 4 to 6 #2)
  • Progress-Anzeige während Verarbeitung
  • Erfolgsmeldung mit Statistik (X Produkte, Y Varianten aktualisiert)

4. Technische Umsetzung

  • Shopware System Config für Templates
  • Custom Admin Component für Ausführungs-UI
  • Integration mit Message Queue Handler
  • Event-basierte Progress-Updates

Akzeptanzkriterien

  • Twig-Templates in System Config konfigurierbar
  • Drei Modi zur Produktauswahl funktionieren
  • Bestätigungs-Dialog bei "Alle Produkte"
  • Button triggert Message Queue Job
  • Progress-Bar zeigt Fortschritt
  • Erfolgsmeldung mit Statistik

Technische Details

  • Admin Component: Vue.js 3 + Shopware Admin SDK
  • Config: src/Resources/config/config.xml
  • Controller: src/Controller/Administration/VariantUpdateController.php
  • Service: Wiederverwendung von UpdateVariantCommand Logik

Abhängigkeiten

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions