Shopware Logo - Tutorialwelt - Andreas Lang

0 85

Was Sie lernen werden

  • Shopware 6 Architektur verstehen
  • Lokale Entwicklungsumgebung aufsetzen
  • Erste Schritte in der Administration
  • Debug-Modus einrichten

Voraussetzungen

Systemanforderungen:

✓ PHP 8.2+ (mit Extensions: gd, intl, pdo_mysql, openssl, curl, zip, xml)
✓ MySQL 8.0+ oder MariaDB 10.11+
✓ Composer 2.x
✓ Node.js 18+ & NPM
✓ Git

Installation Schritt für Schritt

1. Systemanforderungen prüfen

bash

# PHP Version und Extensions prüfen
php -v
php -m | grep -E 'gd|intl|pdo_mysql|openssl|curl|zip|xml'

# Composer prüfen
composer --version

# Node.js prüfen
node -v
npm -v

2. Shopware 6 Development-Installation

bash

# Neues Projekt erstellen
composer create-project shopware/production:dev-flex my-shopware-dev

cd my-shopware-dev

# Environment-Datei erstellen
cp .env.local.example .env.local

3. Datenbank konfigurieren

.env.local anpassen:

env

# Development-Modus aktivieren
APP_ENV=dev
APP_DEBUG=1
APP_SECRET=def00000changethissecretkey

# Datenbank-Verbindung
DATABASE_URL=mysql://root:root@localhost:3306/shopware

# Shop-URL
APP_URL=http://localhost:8000

# Mailer für Development (optional)
MAILER_DSN=smtp://localhost:1025

4. Installation durchführen

bash

# Shopware installieren
bin/console system:install --create-database --basic-setup

# Admin-Benutzer erstellen
bin/console user:create admin \
    --admin \
    --email="admin@example.com" \
    --firstName="Admin" \
    --lastName="User" \
    --password="shopware"

# Storefront Assets bauen
./bin/build-storefront.sh

# Administration Assets bauen
./bin/build-administration.sh

5. Development Server starten

Option A: Symfony CLI (empfohlen)

bash

# Symfony CLI installieren (falls nicht vorhanden)
wget https://get.symfony.com/cli/installer -O - | bash

# Server starten
symfony server:start -d

# Logs anzeigen
symfony server:log

Option B: PHP Built-in Server

bash

php -S localhost:8000 -t public

6. Installation verifizieren

Browser

# Browser öffnen:
# Storefront: http://localhost:8000
# Admin: http://localhost:8000/admin

Login-Daten:

  • Username: admin
  • Passwort: shopware

Shopware 6 Architektur verstehen

Die drei Hauptkomponenten

┌─────────────────────────────────────┐
│          ADMINISTRATION             │
│         (Vue.js Backend)            │
└─────────────────────────────────────┘
                 ↕
┌─────────────────────────────────────┐
│              CORE                   │
│    (Business Logic & APIs)          │
└─────────────────────────────────────┘
                 ↕
┌─────────────────────────────────────┐
│          STOREFRONT                 │
│      (Twig Frontend Shop)           │
└─────────────────────────────────────┘

1. Core – Das Herz

  • Framework & Business-Logik
  • Data Abstraction Layer (DAL)
  • REST & Store API
  • Event-System
  • Plugin-System

2. Storefront – Der Shop

  • Twig Template Engine
  • Bootstrap 5 Framework
  • JavaScript/jQuery
  • SCSS Styling
  • SEO-optimiert

3. Administration – Das Backend

  • Vue.js 3 Single Page App
  • Admin-API
  • Meteor Component Library
  • Erweiterbar durch Admin-Extensions

Projektstruktur erklärt

my-shopware-dev/
├── bin/                          # CLI-Commands & Build-Scripts
│   ├── console                   # Symfony Console
│   ├── build-storefront.sh       # Storefront Assets bauen
│   └── build-administration.sh   # Admin Assets bauen
│
├── config/                       # Konfiguration
│   ├── packages/                 # Bundle-Konfiguration
│   ├── routes/                   # Routing
│   └── services/                 # Service-Definitionen
│
├── custom/                       # Ihr Code
│   ├── plugins/                  # Ihre Plugins ⭐
│   ├── apps/                     # App-System
│   └── static-plugins/           # Composer-Plugins
│
├── public/                       # Öffentlich zugänglich
│   ├── index.php                 # Entry Point
│   ├── theme/                    # Kompilierte Assets
│   └── bundles/                  # Bundle Assets
│
├── src/                          # Core-Erweiterungen
│   └── Kernel.php               # Application Kernel
│
├── var/                          # Temporäre Dateien
│   ├── cache/                    # Symfony Cache
│   ├── log/                      # Log-Dateien
│   └── plugins.json              # Plugin-Registry
│
├── vendor/                       # Composer Dependencies
│
├── .env                          # Basis Environment
├── .env.local                    # Lokale Overrides
└── composer.json                 # Dependencies & Autoload

Debug-Modus optimal nutzen

Symfony Profiler aktivieren

.env.local:

env

Nach Request aufrufen:

http://localhost:8000/_profiler

Was der Profiler zeigt:

  • Performance-Metriken
  • Datenbank-Queries
  • Events & Listener
  • Service-Container
  • Routing-Informationen

Logs überwachen

bash

# Alle Logs live anzeigen
tail -f var/log/dev.log

# Nur Errors
tail -f var/log/dev.log | grep ERROR

# Shopware-spezifische Logs
tail -f var/log/shopware*.log

Nützliche Console-Commands

bash

# Plugin-Verwaltung
bin/console plugin:refresh          # Plugins neu einlesen
bin/console plugin:list             # Alle Plugins anzeigen
bin/console plugin:install MyPlugin # Plugin installieren
bin/console plugin:activate MyPlugin # Plugin aktivieren

# Cache-Verwaltung
bin/console cache:clear             # Kompletten Cache leeren
bin/console cache:warmup            # Cache vorwärmen
bin/console dal:refresh:index       # DAL-Index neu aufbauen

# Theme-Verwaltung
bin/console theme:compile           # Theme neu kompilieren
bin/console theme:refresh           # Themes neu einlesen

# Datenbank
bin/console database:migrate --all  # Migrationen ausführen
bin/console dal:validate            # Schema validieren

# System-Informationen
bin/console about                   # System-Info
bin/console debug:container         # Services anzeigen
bin/console debug:event-dispatcher  # Events anzeigen

Erste Schritte in der Administration

1. Dashboard erkunden

Nach Login unter http://localhost:8000/admin:

Wichtige Bereiche:

  • Dashboard – Übersicht & Statistiken
  • Kataloge – Produkte & Kategorien
  • Bestellungen – Order Management
  • Kunden – Kundenverwaltung
  • Inhalte – CMS & Shopping Experiences
  • Einstellungen – Systemkonfiguration

2. Testprodukt anlegen

1. Kataloge → Produkte
2. "Produkt hinzufügen"
3. Basis-Daten:
   - Name: "Test-Produkt"
   - Produktnummer: "SW-TEST-001"
   - Preis: 29.99 €
   - Steuer: Standard 19%
   - Lagerbestand: 100
4. Speichern

3. Verkaufskanal prüfen

Einstellungen → Shop → Verkaufskanäle
- Storefront-URL überprüfen
- Sprachen konfigurieren
- Währungen einstellen

Troubleshooting

Problem: Weiße Seite nach Installation

Lösung:

bash

# Cache leeren
rm -rf var/cache/*

# Assets neu bauen
./bin/build-storefront.sh
./bin/build-administration.sh

# Permissions prüfen (Linux/Mac)
chmod -R 777 var/ public/

Problem: Admin lädt nicht

Lösung:

bash

# Administration neu bauen
./bin/build-administration.sh

# Browser-Cache leeren (Strg + Shift + R)

Problem: Änderungen werden nicht angezeigt

Lösung:

bash

# Development-Cache leeren
bin/console cache:clear

# Theme neu kompilieren
bin/console theme:compile --active

# HTTP-Cache deaktivieren (.env.local)
SHOPWARE_HTTP_CACHE_ENABLED=0

Nächste Schritte

✅ Sie haben Shopware 6 erfolgreich installiert
✅ Sie verstehen die Grundarchitektur
✅ Sie kennen die wichtigsten Console-Commands

Im nächsten Tutorial: Wir erstellen unser erstes Plugin – ein Lieferzeit-Badge-System!

Author: Andreas Lang

Sphinx-Flashdesign.de

Andreas Lang konzentriert sich seit zwei Jahrzehnten auf die Webentwicklung und Webdesign mit dem Schwerpunkt PHP, Laravel und Javascript und betreut seine Kunden mit Herz und Seele in allen Bereichen von Entwicklung, Design, Suchmaschinenoptimierung, IT-Recht, IT-Sicherheit etc.