Blog Technik

One Page Checkout – Anpassung einer Erweiterung für die Cloud

Unser One Page Checkout für Shopware erfreut sich großer Beliebtheit. Bislang war er aber den Self-Hosted-Kunden vorbehalten, denn das Shopware Cloud Hosting stellt eigene Anforderungen an eine App.

Was eine Cloud-App nicht darf

In der App selbst ist kein eigener PHP-Code möglich. Tiefergehende Funktionen müssen auf einem eigenen App-Server liegen und werden von dort per API angesprochen.

Die Aufgabe war also, das bestehende Plugin so umzubauen, dass es allein mit HTML, CSS und JavaScript auskommt. Subscriber und alles andere, was PHP enthält, mussten raus. Für den Einstieg hilft die Dokumentation von Shopware.

Die manifest.xml ist das Herzstück

Die Basis einer App steht schnell. Den Kern bildet die manifest.xml. Was dort hineingehört, ähnelt stark der composer.json eines Self-Hosted-Plugins.

Ausschnitt der Datei manifest.xml mit Name, Label, Beschreibung, Autor und Version der App. Bild vergrößern
Die manifest.xml einer App: Name, Version, Berechtigungen und Einstiegspunkte an einer Stelle.

Templates, Snippets und Assets bleiben vertraut

Der übrige Aufbau ist identisch, was Templates, Snippets, Sass und JavaScript angeht. Nur die Verzeichnisstruktur sieht etwas anders aus. Wer das Plugin-System kennt, findet sich im App-System schnell zurecht.

Verzeichnisbaum der App PremsOnePageCheckoutApp mit Resources, Snippets, Views und manifest.xml.
Die Verzeichnisstruktur der App - dieselben Bestandteile wie im Plugin, nur anders sortiert.

Fazit

Apps sind eine gute Sache für Cloud-Hosting-Kunden. Eng wird es, sobald man im Frontend mehr will, als bestehende Daten anders zu zeigen. In unserem Fall wollten wir Zahl- und Versandinformationen im One Page Checkout schon vor Login und Registrierung darstellen. Das ging nicht.

Im Adminbereich ist mehr möglich: Dort lassen sich per iFrame Informationen ergänzen. In der Storefront fehlt diese Möglichkeit bislang. Mit ihr gäbe es deutlich mehr Anwendungsfälle. Wir bleiben dran und werden weitere Apps veröffentlichen.

Zurück zum Blog