Console Commands
Übersicht aller Console Commands der Guppy Plugin-Familie.
Inhalt dieser Seite:
Übersicht
| Command | Plugin | Beschreibung |
|---|---|---|
guppy:theme:create | DmfGuppyTheme | Child-Theme erstellen |
guppy:install:plugins | DmfGuppyTheme | Guppy-Plugins installieren |
guppy:upgrade:scan | DmfGuppyTheme | Shopware-Upgrade-Kompatibilität prüfen |
dmf:fonts:generate | DmfCustomFonts | Font-CSS generieren |
dmf:cms:export | DmfCmsImportExport | CMS-Seite exportieren |
dmf:cms:import | DmfCmsImportExport | CMS-Seite importieren |
dmf:theme:export | DmfCmsImportExport | Theme-Konfiguration exportieren |
dmf:theme:import | DmfCmsImportExport | Theme-Konfiguration importieren |
Guppy Theme
guppy:theme:create
Erstellt ein neues Child-Theme basierend auf dem Guppy Theme.
bin/console guppy:theme:createDer Befehl führt interaktiv durch die Theme-Erstellung:
- Theme-Name: Name des neuen Themes (z.B.
MyShopTheme) - Namespace: PHP-Namespace (z.B.
MyShop\Theme) - Verzeichnis: Zielverzeichnis für das Theme
Generierte Dateien:
src/[ThemeName].php- Plugin-Hauptklassecomposer.json- Composer-Konfigurationtheme.json- Theme-Konfigurationsrc/Resources/app/storefront/src/main.js- JavaScript-Einstiegspunktsrc/Resources/app/storefront/src/scss/base.scss- SCSS-Einstiegspunkt
guppy:install:plugins
Installiert und aktiviert alle Guppy-Plugins in der korrekten Reihenfolge.
bin/console guppy:install:pluginsInstallierte Plugins:
- DmfGuppyEmotionworldElements
- DmfCmsCustomGrids
- DmfDropdownNavigation
- DmfCustomFonts
- (weitere optionale Plugins)
guppy:upgrade:scan
Analysiert dein Projekt auf Kompatibilität mit Shopware-Upgrades. Parst UPGRADE-Markdown-Dateien und meldet konkrete Code-Stellen, die angepasst werden müssen.
bin/console guppy:upgrade:scan --core=/path/to/shopware-core.zipQuellen-Optionen
| Option | Beschreibung |
|---|---|
--core | Pfad zum Shopware Core (ZIP oder entpacktes Verzeichnis) |
--upgrade | Direkte UPGRADE-Quelle(n): lokale Datei, URL oder - für STDIN (mehrfach verwendbar) |
Scan-Scope-Optionen
| Option | Beschreibung |
|---|---|
--targets | Zu scannende Pfade (mehrfach verwendbar). auto erkennt gängige Shopware-Verzeichnisse |
--exclude | Auszuschließende Pfade relativ zur Projektwurzel (mehrfach verwendbar) |
Standard-Excludes: vendor, node_modules, .git, var, public/bundles
Composer-Plugin-Optionen
| Option | Beschreibung |
|---|---|
--composer | Zusätzlich Composer-Plugins aus composer.lock scannen |
--composer-type | Composer-Typen filtern (Standard: shopware-platform-plugin, shopware-plugin, shopware-app, shopware-bundle) |
--composer-name-like | Regex-Filter auf Package-Name, z.B. /^(guppy|mycompany)\// |
Ausführungs-Optionen
| Option | Beschreibung |
|---|---|
--since | Nur seit Git-Ref geänderte Dateien scannen (z.B. origin/main, v2.6.0) |
--use-rg | ripgrep für Regex-Suche verwenden (schneller) |
--out | Ziel-Report-Datei (Standard: var/upgrade-report.md) |
--dry-run | Nur extrahierte Regeln anzeigen, ohne zu scannen |
--format | Output-Format: markdown (Standard) oder json |
--stats | Summary-Statistiken im Report anzeigen |
--extensions | Zusätzliche Dateiendungen (z.B. jsx, tsx) |
Beispiele
Basis-Scan mit Shopware-Core-ZIP:
bin/console guppy:upgrade:scan --core=/tmp/shopware-6.6.0.zipScan mit UPGRADE-Datei von URL:
bin/console guppy:upgrade:scan \
--upgrade=https://raw.githubusercontent.com/shopware/shopware/trunk/UPGRADE-6.6.mdNur eigene Plugins scannen (auto-detect):
bin/console guppy:upgrade:scan \
--core=/tmp/shopware-core \
--targets=autoNur seit letztem Release geänderte Dateien:
bin/console guppy:upgrade:scan \
--core=/tmp/shopware-core \
--since=v2.5.0 \
--use-rgComposer-Plugins mit Namenfilter:
bin/console guppy:upgrade:scan \
--core=/tmp/shopware-core \
--composer \
--composer-name-like="/^(dmf|guppy)\//"JSON-Report mit Statistiken:
bin/console guppy:upgrade:scan \
--core=/tmp/shopware-core \
--format=json \
--stats \
--out=var/upgrade-report.jsonDry-Run (nur Regeln anzeigen):
bin/console guppy:upgrade:scan \
--core=/tmp/shopware-core \
--dry-runReport-Ausgabe
Der generierte Report enthält:
- Version: Shopware-Version aus der UPGRADE-Datei
- Typ:
REMOVED,DEPRECATEDoderCHANGED - Label: Beschreibung der Änderung (z.B.
sw-checkbox-field → mt-checkbox) - Package: Betroffenes Plugin/Theme
- File/Line: Konkrete Fundstelle im Code
- Snippet: Code-Ausschnitt
- Fix: Empfohlene Korrektur
Beispiel-Output (Markdown):
### [6.6] REMOVED — sw-checkbox-field → mt-checkbox
**Package:** shopware-platform-plugin dmf/my-plugin — Hits: 3
| File | Line | Snippet |
|------|------|---------|
| `src/Resources/views/page.twig` | 42 | <sw-checkbox-field v-model="value" |
| `src/Resources/views/form.twig` | 18 | <sw-checkbox-field :disabled="true" |
> **Fix:** Ersetze `<sw-checkbox-field>` durch `<mt-checkbox>` (inkl. API-Anpassungen).Custom Fonts
dmf:fonts:generate
Generiert die Font-CSS-Datei basierend auf der Plugin-Konfiguration.
bin/console dmf:fonts:generateAutomatische Ausführung:
- Bei Plugin-Aktivierung
- Bei Plugin-Update
- Bei Änderung der Konfiguration
Verwendung: Nach dem Hochladen neuer Schriftdateien oder Ändern der Konfiguration manuell ausführen:
bin/console dmf:fonts:generate
bin/console cache:clearCMS Import/Export
dmf:cms:export
Exportiert eine CMS-Seite (Erlebniswelt) mit allen Blöcken, Elementen und Medien.
bin/console dmf:cms:export --id=<cms-page-id> [--file=<filename>]| Option | Erforderlich | Beschreibung |
|---|---|---|
--id | Ja | UUID der CMS-Seite |
--file | Nein | Dateiname ohne Endung (Standard: export) |
Beispiele:
# Export mit automatischem Dateinamen
bin/console dmf:cms:export --id=a1b2c3d4e5f6789012345678
# Export mit benutzerdefiniertem Dateinamen
bin/console dmf:cms:export --id=a1b2c3d4e5f6789012345678 --file=homepage-backupAusgabe: var/export/[filename].gz
dmf:cms:import
Importiert eine zuvor exportierte CMS-Seite.
bin/console dmf:cms:import --file=<filepath>| Option | Erforderlich | Beschreibung |
|---|---|---|
--file | Ja | Pfad zur Export-Datei (.gz) |
Beispiel:
bin/console dmf:cms:import --file=var/export/homepage-backup.gzINFO
Beim Import werden neue UUIDs generiert, sodass keine Konflikte mit bestehenden Seiten entstehen.
dmf:theme:export
Exportiert die Theme-Konfiguration eines Verkaufskanals.
bin/console dmf:theme:export --id=<theme-id> [--file=<filename>]| Option | Erforderlich | Beschreibung |
|---|---|---|
--id | Ja | UUID des Themes |
--file | Nein | Dateiname ohne Endung (Standard: export) |
Beispiel:
bin/console dmf:theme:export --id=b2c3d4e5f6a789012345678 --file=theme-configAusgabe: var/export/[filename].gz
dmf:theme:import
Importiert eine Theme-Konfiguration in ein bestehendes Theme.
bin/console dmf:theme:import --id=<theme-id> --file=<filepath>| Option | Erforderlich | Beschreibung |
|---|---|---|
--id | Ja | UUID des Ziel-Themes |
--file | Ja | Pfad zur Export-Datei (.gz) |
Beispiel:
bin/console dmf:theme:import --id=c3d4e5f6a7b89012345678 --file=var/export/theme-config.gzUUIDs finden
CMS-Seiten-UUID
# Alle CMS-Seiten auflisten
bin/console dbal:run-sql "SELECT HEX(id), name FROM cms_page"Oder im Admin unter Inhalte → Erlebniswelten → Seite öffnen → UUID in der URL.
Theme-UUID
# Alle Themes auflisten
bin/console dbal:run-sql "SELECT HEX(id), technical_name FROM theme"Oder im Admin unter Verkaufskanäle → [Verkaufskanal] → Theme → UUID in der URL.
CI/CD-Beispiele
GitLab CI Pipeline
stages:
- export
- deploy
export-content:
stage: export
script:
- bin/console dmf:cms:export --id=$HOMEPAGE_ID --file=homepage
- bin/console dmf:theme:export --id=$THEME_ID --file=theme
artifacts:
paths:
- var/export/
expire_in: 1 week
deploy-staging:
stage: deploy
script:
- scp var/export/*.gz staging:/var/www/shop/var/import/
- ssh staging "cd /var/www/shop && bin/console dmf:cms:import --file=var/import/homepage.gz"
- ssh staging "cd /var/www/shop && bin/console dmf:theme:import --id=$STAGING_THEME_ID --file=var/import/theme.gz"
- ssh staging "cd /var/www/shop && bin/console cache:clear"Lokaler Deployment-Workflow
# 1. Auf Quell-System: Export
bin/console dmf:cms:export --id=abc123 --file=homepage
bin/console dmf:theme:export --id=def456 --file=theme
# 2. Dateien übertragen
scp var/export/*.gz user@target:/var/www/shop/var/import/
# 3. Auf Ziel-System: Import
bin/console dmf:cms:import --file=var/import/homepage.gz
bin/console dmf:theme:import --id=xyz789 --file=var/import/theme.gz
bin/console cache:clear
bin/console theme:compile