App Scripts
Server-Logik in Twig, ohne PHP
App Scripts schließen die Lücke zwischen „nur Konfiguration" und „eigener Server": server-seitige Logik in Twig-Syntax, die Shopware selbst ausführt – ohne PHP und ohne externes Backend.
Die Idee
Ein Plugin würde Geschäftslogik in PHP-Services schreiben. Eine App darf das nicht. App Scripts sind die Antwort: kleine Skripte, die an definierten Hooks in den Shop-Ablauf eingreifen und dabei komplett auf dem Shopware-Server laufen.
Wo sie liegen
App Scripts wohnen im App-Verzeichnis unter Resources/scripts/, gruppiert nach dem Hook, an den sie andocken.
custom/apps/MyExampleApp/
└── Resources/
└── scripts/
└── cart/
└── add-discount.twig
Was damit möglich ist
- Warenkorb beeinflussen – z. B. Rabatte oder Zuschläge nach eigenen Regeln
- Daten für Seiten laden – zusätzliche Informationen an Storefront-Seiten hängen
- Eigene API-Endpunkte bereitstellen (Store-API-Erweiterungen)
Alles in vertrauter Twig-Syntax, mit Zugriff auf die bereitgestellten Objekte des jeweiligen Hooks.
{# cart/add-discount.twig #}
{% if cart.price.totalPrice >= 100 %}
{% do services.cart.discount(cart, 'my-discount', 'absolute', -10, 'Treuerabatt') %}
{% endif %}
Die Grenzen
App Scripts sind kein voller PHP-Ersatz: kein beliebiger Code, kein Zugriff auf den Service-Container, nur die vom jeweiligen Hook freigegebenen Funktionen. Für tiefe Eingriffe in den Core bleibt ein Plugin die richtige Wahl.
Einordnung
App Scripts sind der Grund, warum Apps mehr können als „nur Oberfläche": ein guter Teil klassischer Plugin-Aufgaben lässt sich damit Cloud-fähig abbilden – innerhalb klar gezogener Grenzen.
Kurz: App Scripts bringen server-seitige Twig-Logik in die App – ohne PHP, ohne externen Server. Perfekt für Warenkorb-Regeln, Datenanreicherung und eigene Endpunkte.