Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 7 Aktuelle »

\Brandbox\ShopCore\Shop\Event\ShopEventManager dient als Übergangslösung für ältere Events, die noch nicht mit Framework 2.0 kompatibel sind. Konkret sind das →dispatchAll Events und ViewEvents.

Verwendung

Event Registrieren

Bsp. onBasketChangeEventInterface
<?php

declare(strict_types=1);

namespace Brandbox\MyApp\Shop\MyPackage\Lib\Event {

    use Brandbox\ShopCore\Shop\Checkout;
    use Brandbox\ShopCore\Shop\Event;

    class OnBasketChangeEvent extends Event\EventAbstract implements Checkout\lib\event\onBasketChangeEventInterface
    {
        const PRIORITY = 1;

        public function onBasketChange(): void
        {
            // Code
        }
    }
}

ViewEvent Registrieren

Bsp. checkoutConfirmedAdditionalHtmlEventInterface
<?php

namespace Brandbox\MyApp\Shop\MyPackage\Lib\Event {

    use Brandbox\ShopCore\Shop\Event;

    use Brandbox\CmsLayoutShop\View\Checkout as ViewCheckout;

    use Brandbox\MyApp\Shop\MyPackage;

    class MyCheckoutConfirmedEvent extends Event\EventAbstract implements ViewCheckout\lib\event\checkoutConfirmedAdditionalHtmlEventInterface {

        public const PRIORITY = 1;
        private int $orderID;

        /**
         * @param array $parameters
         */
        public function __construct($parameters) {
            $this->orderID = $parameters[self::PARAMETER_ORDER_ID];
        }

        /**
         * @return Event\ViewInterface
         */
        public function getView() {
            return new MyPackage\Lib\Event\MyCheckoutConfirmedView($this->orderID);
        }
    }
}

namespace Brandbox\MyApp\Shop\MyPackage\Lib\Event {

    use Brandbox\Framework\Brandbox\Controller;
 
    use Brandbox\ShopCore\Shop\Event;

    class MyCheckoutConfirmedView extends Controller\ControllerExecuteAbstract implements Event\ViewInterface
    {

        private int $orderID;
       
        public function __construct($orderID)
        {
            $this->orderID = $orderID;
        }

        /**
         * @return array|object
         */
        public function getContext()
        {
            $result = new \stdClass();
           
            return $result;
        }

        public function getPath(): string
        {
            return 'plugin/remote/brandbox/my-app/src/Shop/MyPackage/views/my-checkout-confirmed-view.hbs';
        }
    }
}


  • Keine Stichwörter