Console Commands
Inhalt dieser Seite:
Das Guppy Theme bietet spezialisierte Console Commands, die den Entwicklungsprozess vereinfachen und die Einrichtung von Projekten automatisieren.
Verfügbare Commands
guppy:theme:create
Erstellt automatisch ein neues Child-Theme basierend auf dem Guppy Theme.
Verwendung
bash
bin/console guppy:theme:createInteraktive Konfiguration
Der Command führt dich durch einen interaktiven Prozess:
Grundeinstellungen
- Namespace: Standard-Namespace für das Theme (z.B. "Dmf")
- Theme-Name: Name des Child-Themes (z.B. "CustomerShop")
- Theme-Titel: Anzeigename im Admin-Panel
Farbkonfiguration
- Primärfarbe: Hauptfarbe des Themes (Standard: #215AFF)
- Sekundärfarbe: Unterstützende Farbe (Standard: #0B1845)
- Rahmenfarbe: Farbe für Rahmen (Standard: #CFD1D7)
- Hintergrundfarbe: Basis-Hintergrundfarbe (Standard: #FFFFFF)
Asset-Konfiguration
- Plugin-Bild: Name für das Plugin-Icon (plugin.png)
- Vorschau-Bild: Name für das Theme-Preview (preview.jpg)
- Logo: Name für das Hauptlogo (logo.svg)
- Share-Icon: Name für Social Media Icon (share-icon.svg)
- Favicon: Name für das Favicon (favicon.ico)
Automatische Erstellung
Das Command erstellt automatisch:
Verzeichnisstruktur
custom/static-plugins/DmfCustomerShopTheme/
├── src/
│ ├── DmfCustomerShopTheme.php
│ └── Resources/
│ ├── app/storefront/
│ │ ├── src/scss/
│ │ │ ├── base.scss
│ │ │ └── overrides.scss
│ │ └── dist/
│ │ ├── assets/
│ │ └── storefront/js/
│ ├── config/
│ │ └── plugin.png
│ └── views/storefront/
└── composer.jsonAutomatische Konfiguration
- composer.json: Vollständige Composer-Konfiguration
- theme.json: Komplett konfigurierte Theme-Datei mit Vererbung
- PHP-Klasse: Theme-Klasse mit korrektem Namespace
Config-Inheritance
json
{
"configInheritance": [
"@Storefront",
"@DmfGuppyTheme"
]
}Zusätzliche Features
Composer-Integration
- Automatische Installation: Optional via Composer
- Dependency-Management: Automatische Guppy-Theme-Abhängigkeit
- Semantic Versioning: Versionierung ab 0.1.0
Asset-Management
- Automatisches Kopieren: Standard-Assets werden kopiert
- Pfad-Generierung: Automatische Asset-Pfade
- Datei-Validierung: Prüfung auf vorhandene Assets
Beispiel-Ausgabe
bash
$ bin/console guppy:theme:create
Theme Create Command
====================
Bitte gib den Namespace des Themes ein. [Dmf]:
> Dmf
Bitte gib den Namen des Themes ein (z. B. Child).
> MyShop
Bitte gib den Titel des Themes an, wie er im Admin dargestellt werden soll.
> My Custom Shop Theme
Möchtest du das Theme konfigurieren? (yes/no) [yes]:
> yes
[OK] Das Theme wurde erfolgreich erstellt unter: /path/to/custom/static-plugins/DmfMyShopThemeguppy:install:plugins
Installiert automatisch die empfohlenen Plugins für das Guppy Theme.
Verwendung
bash
bin/console guppy:install:pluginsVerfügbare Plugins
1. DmfCustomFonts
- Beschreibung: Ermöglicht benutzerdefinierte Schriftarten
- Composer-Package:
dmf/sw6-plugin-custom-fonts - Verwendung: Integration eigener Webfonts
2. DmfCustomGrid
- Beschreibung: Erweiterte Grid-Layouts für CMS
- Composer-Package:
dmf/sw6-plugin-cms-custom-grids - Verwendung: 11 zusätzliche Grid-Varianten
3. GuppyEmotionworldElements
- Beschreibung: Spezialisierte CMS-Elemente
- Composer-Package:
dmf/sw6-plugin-guppy-emotionworld-elements - Verwendung: Erweiterte CMS-Funktionen
Interaktive Installation
Der Command fragt für jedes Plugin einzeln nach:
bash
$ bin/console guppy:install:plugins
Plugins Installieren
====================
Möchtest du das Plugin Dmf Custom Fonts installieren? (yes/no) [no]:
> yes
[OK] Das Plugin Dmf Custom Fonts wurde erfolgreich installiert.
Möchtest du das Plugin Dmf Custom Grid installieren? (yes/no) [no]:
> yes
[OK] Das Plugin Dmf Custom Grid wurde erfolgreich installiert.Fehlerbehandlung
- Automatische Fehlerprüfung: Überprüfung des Composer-Return-Codes
- Detaillierte Fehlermeldungen: Spezifische Fehlermeldungen pro Plugin
- Fortsetzung bei Fehlern: Ein fehlgeschlagenes Plugin bricht den Prozess nicht ab
guppy:upgrade:scan
Analysiert installierte Guppy-Plugins und das Theme auf Kompatibilität mit Shopware-Updates.
Verwendung
bash
# Basis-Scan aller installierten Komponenten
bin/console guppy:upgrade:scan
# Scan mit spezifischer Shopware-Version
bin/console guppy:upgrade:scan --shopware-version=6.5.0
# Detaillierte Ausgabe mit Debug-Informationen
bin/console guppy:upgrade:scan --verboseFeatures
Kompatibilitätsprüfung
- Analysiert alle installierten Guppy-Plugins
- Prüft Theme-Kompatibilität
- Vergleicht mit Shopware UPGRADE.md
- Identifiziert potenzielle Breaking Changes
Automatisierte Analyse
- Scannt Template-Blöcke auf Änderungen
- Prüft JavaScript-Plugin-APIs
- Analysiert SCSS-Variable-Kompatibilität
- Überprüft Konfigurationsoptionen
Kompatibilitätsbericht
bash
$ bin/console guppy:upgrade:scan --shopware-version=6.5.0
Guppy Upgrade Scanner
=====================
Analysiere Kompatibilität für Shopware 6.5.0...
✅ DmfGuppyTheme (2.1.0)
└── Kompatibel mit Shopware 6.5.0
⚠️ DmfCustomFonts (1.2.0)
└── Template-Block 'font_loading' deprecated in 6.5.0
└── Migration erforderlich
❌ DmfCustomGrid (1.0.5)
└── Inkompatibel: CMS-API-Änderungen in 6.5.0
└── Update auf Version 1.1.0 erforderlich
Empfohlene Aktionen:
1. DmfCustomGrid auf Version 1.1.0 aktualisieren
2. DmfCustomFonts-Templates nach Migration Guide anpassen
3. Vollständige Tests im Staging-Environment durchführenOptionen
| Option | Beschreibung | Beispiel |
|---|---|---|
--shopware-version | Ziel-Shopware-Version für Kompatibilitätsprüfung | 6.5.0 |
--target-version | Ziel-Guppy-Version für Migration | 3.0.0 |
--format | Ausgabeformat (table, json, yaml) | json |
--output-file | Bericht in Datei speichern | upgrade-report.json |
Integration in CI/CD
yaml
# .github/workflows/upgrade-check.yml
name: Guppy Upgrade Check
on:
schedule:
- cron: '0 9 * * 1' # Jeden Montag
jobs:
upgrade-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: composer install
- name: Run Guppy upgrade scan
run: |
bin/console guppy:upgrade:scan --format=json --output-file=upgrade-report.json
- name: Upload report
uses: actions/upload-artifact@v3
with:
name: upgrade-report
path: upgrade-report.jsonBest Practices
Theme-Entwicklung
Verwende aussagekräftige Namespaces
bash# Gut Namespace: MyCompany Theme-Name: CustomerPortal # Schlecht Namespace: Test Theme-Name: Theme1Bereite Assets vor
- Lege alle erforderlichen Assets bereit
- Verwende konsistente Namenskonventionen
- Optimiere Bilder für Web-Verwendung
Nutze Config-Inheritance
json{ "configInheritance": [ "@Storefront", "@DmfGuppyTheme" ] }
Plugin-Installation
Installiere alle empfohlenen Plugins
- Nutze die volle Funktionalität
- Teste Kompatibilität vor Produktivumgebung
Befolge die Installationsreihenfolge
bash# 1. Plugins installieren bin/console guppy:install:plugins # 2. Plugin-Cache leeren bin/console plugin:refresh # 3. Theme aktivieren bin/console theme:change
Troubleshooting
Häufige Probleme
Theme-Erstellung schlägt fehl
- Problem: Verzeichnis existiert bereits
- Lösung: Lösche das bestehende Verzeichnis oder wähle einen anderen Namen
Plugin-Installation schlägt fehl
- Problem: Composer-Fehler
- Lösung: Prüfe Composer-Konfiguration und Netzwerkverbindung
Assets werden nicht gefunden
- Problem: Standard-Assets fehlen
- Lösung: Prüfe
/src/Resources/default-assets/Verzeichnis
Debugging
Verbose-Modus aktivieren
bash
bin/console guppy:theme:create -v
bin/console guppy:install:plugins -vLog-Dateien prüfen
bash
# Shopware-Logs
tail -f var/log/prod.log
# Composer-Logs
composer install --verbose