Aktionsschnittstelle nutzen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Die Aktionsschnittstelle kann im ACP > Shop > Produkte > Produkte auflisten > bearbeiten > Erweiterte Einstellungen > Aktionsschnittstelle gesetzt werden.


    Damit die Aktionsschnittstelle korrekt funktioniert, muss diese diverse Voraussetzungen erfüllen. Wichtig ist, dass das Interface shop\system\order\action\IOrderAction implementiert wird. Dieses Beispiel zeigt Ihnen die wichtigsten Schritte.

    Wir empfehlen, dass Sie die Aktionsschnittstelle im Order /shop/lib/system/order/action/ ablegen. Das nachfolgende Beispiel beschreibt die Einbindung der Schnittstelle unter dem Namen MyExternalScript. Passen Sie den Namen für Ihre Anpassung an allen Stellen (Code, Eingaben, Dateinamen, etc.) an.

    Zuerst muss die Datei /shop/lib/system/order/action/MyExternalScript.class.php angelegt werden. Aus Ausgangspunkt empfehlen wir folgenden Inhalt.

    PHP-Quellcode: /shop/lib/system/order/action/MyExternalScript.class.php

    1. <?php
    2. namespace shop\system\order\action;
    3. use shop\system\order\action\IOrderAction;
    4. use shop\data\order\Order;
    5. use shop\data\product\Product;
    6. class MyExternalScript implements IOrderAction {
    7. public static function execute(Order $order, $product) {
    8. // insert your code here
    9. }
    10. }
    Das Kommentar zeigt die Stelle, an welche Sie Ihren Code einfügen können. Beachten Sie, dass Sie für Ihren Code möglicherweise weitere Importe ("use") benötigen. Über die Variablen $order und $product können Sie auf diverse wichtige Informationen zugreifen. Beispielhaft sind hier einige wichtige Codefragmente angeführt, welche für Sie interessant sein können. Wenn das Benutzer-Objekt der Bestellung verwendet werden soll, darf nicht WCF::getUser() verwendet werden, da die Aktionsschnittstelle nicht zwingend vom selben Benutzer ausgelöst wird. Über new User($order->userID) kann das korrekte Benutzer-Objekt geladen werden.

    Bestellnummer: $order->identifier
    UserID des Bestellers: $order->userID
    Zeitpunkt der Bestellung: $order->time
    ID des Produkts: $product->productID

    Sobald Sie mit Ihrem Code fertig sind, müssen Sie diesen noch für das Produkt aktivieren. Tragen Sie dafür unter ACP > Shop > Produkte > Produkte auflisten > bearbeiten > Erweiterte Einstellungen > Aktionsschnittstelle folgenden Wert ein: shop\system\order\action\MyExternalScript.

    Ab sofort wird Ihr Code automatisch bei der Freischaltung ausgeführt.
    Zufrieden mit meiner Arbeit? Ich würde mich über eine kurze Rezension (Marktplatz, Lexikon, Webdisk, Shop) freuen!

    10.119 mal gelesen

Kommentare 1

  • xXSwainXx -

    muss die /MyExternalScript heißen?? weil ich bekomme ein error.

    Fatal error: Interface 'shop\system\order\action\IOrderAction' not found in /var/customers/webs/ni424947_5/shop/lib/action/RangMystical.class.php on line 6


    Hier der .php code: prntscr.com/e5arn2

    Der Fehler code wenn man was kauft: prntscr.com/e5auoz