# 2. Installationsanleitung

## Installation

### Über den Shopware Store (empfohlen)

1. Erwerben Sie das Plugin im Shopware Store.
2. Melden Sie sich in Ihrer Shopware-Admin an.
3. Navigieren Sie zu **Erweiterungen → Meine Erweiterungen**.
4. Suchen Sie **Erweiterte Wunschlisten** und klicken Sie auf **Installieren**.
5. Aktivieren Sie das Plugin mit dem Umschalter in der Zeile.
6. Leeren Sie den Cache unter **Einstellungen → System → Cache & Indizes → Cache leeren**.

### Manuelle Installation per ZIP

1. Laden Sie das Plugin-ZIP herunter.
2. Navigieren Sie zu **Erweiterungen → Meine Erweiterungen**.
3. Klicken Sie auf **Erweiterung hochladen** und wählen Sie die ZIP-Datei aus.
4. Installieren und aktivieren Sie das Plugin wie oben beschrieben.
5. Leeren Sie den Cache.
6. Führen Sie anschließend **bin/console theme:compile** aus, falls die Storefront-Assets nicht automatisch gebaut werden.

## Erste Schritte nach der Aktivierung

Nach der Aktivierung sind die Kernfunktionen direkt verfügbar:

* Das Herzicon erscheint auf Produktkacheln und Produktdetailseiten.
* Eingeloggte Kunden finden unter **Mein Konto → Meine Wunschlisten** ihre Listenübersicht.
* Händler sehen unter **Kunden → Wunschlisten** die Admin-Übersicht.

Überprüfen und passen Sie die Plugin-Einstellungen an Ihren Shop an (siehe [Konfiguration](https://docs.momocode.de/shopware-6/erweiterte-wunschlisten/3.-konfiguration)).

## Hinweise

### Verhältnis zur nativen Shopware-Wunschliste

Das Plugin arbeitet unabhängig neben der nativen Shopware-Wunschliste und deaktiviert sie nicht automatisch. Wenn Sie ausschließlich das Plugin nutzen möchten, deaktivieren Sie die native Funktion unter **Einstellungen → Shop → Warenkorb → Wunschliste aktivieren**.

### Scheduled Task Worker

Für automatische Preissenkungsbenachrichtigungen muss der Shopware Scheduled Task Worker aktiv sein:

```bash
bin/console messenger:consume scheduled_task
```

Stellen Sie sicher, dass dieser Prozess dauerhaft läuft (z. B. über einen Supervisor-Daemon oder einen Cron-Job).

## Migration bestehender nativer Wunschlisten

Falls Ihr Shop bereits native Shopware-Wunschlisten enthält, können Sie diese mit dem mitgelieferten Konsolenbefehl migrieren.

> **Hinweis:** Dieser Befehl migriert ausschließlich **native Shopware-Wunschlisten**. Eine Migration von anderen Wunschlisten-Plugins wird offiziell nicht unterstützt. Falls Sie von einem anderen Plugin wechseln und Ihre Daten übernehmen möchten, [kontaktieren Sie mich](https://momocode.de) gerne — ich helfe dabei nach Möglichkeit persönlich weiter.

```bash
bin/console momo:wishlists:migrate-native [--name=<Name>] [--delete-native] [--dry-run]
```

| Option            | Beschreibung                                                             |
| ----------------- | ------------------------------------------------------------------------ |
| `--name`          | Name für die migrierten Wunschlisten (ohne Angabe: interaktive Abfrage)  |
| `--delete-native` | Löscht die nativen Wunschlisten nach erfolgreicher Migration automatisch |
| `--dry-run`       | Zeigt eine Vorschau der Migration, ohne Daten zu schreiben               |

**Empfohlene Vorgehensweise:**

1. Zuerst mit `--dry-run` testen und die Ausgabe prüfen.
2. Die eigentliche Migration ohne `--dry-run` ausführen.
3. Prüfen, ob alle Wunschlisten korrekt migriert wurden.
4. Optional: `--delete-native` verwenden oder native Wunschlisten manuell löschen.

> **Hinweis:** Der Befehl ist nicht idempotent. Führen Sie ihn nur einmal aus, um doppelte Einträge zu vermeiden.
