Skip to content

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:create

Interaktive 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.json
Automatische 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/DmfMyShopTheme

guppy:install:plugins

Installiert automatisch die empfohlenen Plugins für das Guppy Theme.

Verwendung

bash
bin/console guppy:install:plugins

Verfü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 --verbose

Features

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ühren

Optionen

OptionBeschreibungBeispiel
--shopware-versionZiel-Shopware-Version für Kompatibilitätsprüfung6.5.0
--target-versionZiel-Guppy-Version für Migration3.0.0
--formatAusgabeformat (table, json, yaml)json
--output-fileBericht in Datei speichernupgrade-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.json

Best Practices

Theme-Entwicklung

  1. Verwende aussagekräftige Namespaces

    bash
    # Gut
    Namespace: MyCompany
    Theme-Name: CustomerPortal
    
    # Schlecht
    Namespace: Test
    Theme-Name: Theme1
  2. Bereite Assets vor

    • Lege alle erforderlichen Assets bereit
    • Verwende konsistente Namenskonventionen
    • Optimiere Bilder für Web-Verwendung
  3. Nutze Config-Inheritance

    json
    {
      "configInheritance": [
        "@Storefront",
        "@DmfGuppyTheme"
      ]
    }

Plugin-Installation

  1. Installiere alle empfohlenen Plugins

    • Nutze die volle Funktionalität
    • Teste Kompatibilität vor Produktivumgebung
  2. 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 -v

Log-Dateien prüfen

bash
# Shopware-Logs
tail -f var/log/prod.log

# Composer-Logs
composer install --verbose