Skriptanforderungen und -beschränkungen
Zum Erstellen von Skripten benötigst du einen Shopify Plus-Plan und den Script Editor. Du brauchst außerdem Kenntnisse der Programmiersprache Ruby oder einen Entwickler oder einen Shopify-Experten, der sich mit Ruby auskennt. Erfahre mehr über die Einstellung von Shopify-Experten.
Es sind einige Skripteinschränkungen vorhanden, um die Sicherheit zu erhöhen und sicherzustellen, dass Skripts ausgeführt werden können, unabhängig davon, wie viele Kunden sich zu einem bestimmten Zeitpunkt in deinem Shop befinden. Beachte die folgenden Einschränkungen, wenn du Skripte für deinen Shopify-Shop entwickelst.
Online-Shop und Storefront-API
Wenn du ein Skript erstellst oder bearbeitest, kannst du auswählen, ob es nur in deinem Online-Shop oder in deinem Online-Shop und in den folgenden Apps ausgeführt werden soll:
- Benutzerdefinierte Apps, die mit der Storefront-API, dem JavaScript Buy SDK und den Mobile Buy SDKs (Android und iOS) erstellt wurden
- Benutzerdefinierte Apps, die Checkouts generieren
- Mobile App Builder für Tapcart und Plobal Apps
Damit Skripte funktionieren, muss die Website eine integrierte Warenkorb-Funktion besitzen; dies bedeutet, dass Skripte nicht mit dem Buy Button oder dem Facebook- oder Großhandels-Vertriebskanal verwendet werden können.
Veröffentliche Skripte
Es kann nur ein Skript pro Skripttyp gleichzeitig veröffentlicht werden. Du kannst beispielsweise ein Skript für Einzelartikel und ein Skript für Versandkosten veröffentlichen, aber zwei Skripte für Einzelartikel können nicht gleichzeitig veröffentlicht werden.
Maximale Anzahl von Shopify Scripts
Du kannst bis zu 200 Shopify Scripts erstellen.
Bestellentwürfe
Skripte für Einzelartikel, den Versand und Zahlungen funktionieren nicht mit Bestellentwürfen oder dem Checkout von Bestellentwürfen.
Metafelder
Shopify Scripts kann nicht auf Metafelder zugreifen.
Warenkorb-/Checkout-Attribute
Shopify Scripts können nicht auf Warenkorbattribute von Shopify Liquid zugreifen. Du kannst diese Attribute zu deinen Warenkorbseiten hinzufügen, um zusätzliche Informationen von deinen Kunden zu erfassen, aber du kannst kein Skript erstellen, das diese verwendet.
Rabattcodes
Skripte können darauf zugreifen, ob ein Rabattcode angewendet wird, auf die Höhe des Rabatts und die Art des Rabatts (fester Betrag, Prozentsatz oder Versand). Sie können jedoch nicht darauf zugreifen, wie der Rabatt gilt (für den Warenkorb oder Positionen). Skripte können daher weder auf die Summe nach Anwendung des Rabatts noch auf automatische Rabatte zugreifen.
Skripte für Position und Versand, die auf Rabatte zugreifen, die auf einen Warenkorb angewendet werden, sind nicht mit Rabattkombinationen kompatibel. Die Methode .discount_code kann nur einen einzigen Rabattcode zurückgeben. Warenkörbe, die mehrere Rabattcodes mit Rabattkombinationen enthalten, werden nicht unterstützt.
Positionen
Skripte können keine Artikel zum Warenkorb hinzufügen oder den Preis eines Artikels erhöhen.
Versandkosten
Skripte können den Preis eines Versandtarifs nicht erhöhen.
Reguläre Ausdrücke
Der Abgleich regulärer Ausdrücke wird nicht unterstützt. Wenn du ein Einzelartikel-Skript erstellst, kannst du möglicherweise eine der folgenden Methoden als Zwischenlösung verwenden:
- split-Methode
- start_with- und end_with-Methoden
- include-Methode
Themes
Du musst unter Umständen das Liquid-Theme aktualisieren, damit es deine Skripte unterstützt und du, was noch wichtiger ist, die Kunden nicht verwirrst. So zeigen beispielsweise nicht alle Themes im Warenkorb Rabatte für Einzelartikel an. Falls dies der Fall ist, musst du das Theme entsprechend bearbeiten, damit im Warenkorb die Rabatte für Einzelartikel angezeigt werden. Erfahre mehr über die Modifizierungsarten, die du in den Liquid-Themes anwenden kannst.
Ressourcen
Die für ein Skript verfügbare CPU- und Speicherkapazität ist begrenzt; die reservierten Ressourcen hängen von der Größe des Warenkorbs und der Anzahl der Berechnungen ab, die das Skript benötigt. Shopify wird diese Einschränkungen sorgfältig verfolgen, um sicherzustellen, dass dein Skript wie vorgesehen funktioniert.
Wenn du ein Skript testest, druckt die Script Editor-Konsole den Prozentsatz der zugewiesenen Ressourcen, die das Skript verwendet.
Input/Output
Abgesehen von einigen wenigen Ausnahmen sind Shopify Scripts nicht für Input/Output geeignet. Dies bedeutet, dass Skripte keine Webanforderungen oder Datenbankaufrufe ausführen können und darüber hinaus keinen Input von einem Benutzer erhalten können.
Allerdings kann die puts
-Methode angewandt werden, um in der Script Editor-App Texte auf der Konsole zu drucken.
Zeit und Zufälligkeit
Skripte können keine zufälligen oder zeitbasierten Berechnungen beinhalten. Auf das Time
-Objekt und die rand
-Methode kann nicht von Shopify Scripts zugegriffen werden.
Da bei jeder Neuberechnung einer Warenkorbsumme Skripte ausgeführt werden, können auf Zeit oder Generierung eines Zufallswertes basierende Skripte unvorhersehbare oder verwirrende Ergebnisse erzeugen, wenn Kunden ihren Warenkorb häufig ändern. Du kannst jedoch mit der Launchpad-App die Ausführung von Skripten während Ereignissen planen.
Skript-Zeichenbeschränkung
Du kannst Skripte mit bis zu 24.576 Zeichen erstellen.
Abonnementbestellungen
Wenn dein Positions- und Versand-Skript einen Rabatt für ein Abonnementprodukt gewährt, gilt der Rabatt für die folgenden Zahlungen:
- nur die erste Zahlung einer pro Lieferung bezahlten Bestellung; wird nicht auf geplante Bestellungen angewendet
- den gesamten Betrag einer im Voraus bezahlten Abonnementbestellung
Mehr Informationen zu Abonnements und Skripten.
Beschleunigte Checkouts
Wenn du Shopify Scripts für beschleunigte Checkouts verwendest, werden Versandrabatte angewendet, nachdem dein Kunde eine beschleunigte Zahlungsmethode ausgewählt hat. Aus diesem Grund werden Änderungen am Bestellpreis nicht auf dem Gerät oder im Browser des Kunden widergespiegelt. Kunden sehen den ursprünglichen Preis beim beschleunigten Checkout, es wird jedoch der richtige reduzierte Preis berechnet.
Shopify Point of Sale (POS)
Shopify Scripts funktionieren nicht mit Shopify Point of Sale (POS).
Zahlungs-Gateways umbenennen
Du kannst Zahlungs-Gateways, die mit einem Logo versehen sind, nicht umbenennen.