vendor/shopware/storefront/Page/Wishlist/GuestWishlistPageLoader.php line 28

  1. <?php declare(strict_types=1);
  2. namespace Shopware\Storefront\Page\Wishlist;
  3. use Shopware\Core\Framework\Log\Package;
  4. use Shopware\Core\System\SalesChannel\SalesChannelContext;
  5. use Shopware\Storefront\Page\GenericPageLoaderInterface;
  6. use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  7. use Symfony\Component\HttpFoundation\Request;
  8. /**
  9.  * Do not use direct or indirect repository calls in a PageLoader. Always use a store-api route to get or put data.
  10.  */
  11. #[Package('storefront')]
  12. class GuestWishlistPageLoader
  13. {
  14.     /**
  15.      * @internal
  16.      */
  17.     public function __construct(
  18.         private readonly GenericPageLoaderInterface $genericPageLoader,
  19.         private readonly EventDispatcherInterface $eventDispatcher
  20.     ) {
  21.     }
  22.     public function load(Request $requestSalesChannelContext $context): GuestWishlistPage
  23.     {
  24.         $page $this->genericPageLoader->load($request$context);
  25.         $page GuestWishlistPage::createFrom($page);
  26.         $this->eventDispatcher->dispatch(new GuestWishlistPageLoadedEvent($page$context$request));
  27.         return $page;
  28.     }
  29. }