如何从 URL shopware 获取参数

How to get parameter from URL shopware

所以我正在使用由 symfony 和 vue (shopware) 制作的软件。我想创建一个插件来检查用户请求的 link,如果它包含特定单词,我想向用户显示一个弹出窗口。我已经创建了一个订阅者并且正在转储数据,但是我在调​​试工具中什么也得不到?

<?php declare(strict_types=1);

namespace QRLinker\Subscriber;

use Shopware\Storefront\Page\PageLoadedEvent;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;


class QRLinkerSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return [
            PageLoadedEvent::class => 'onPageLoaded',
        ];
    }

    public function onPageLoaded (PageLoadedEvent $event)
    {
        dump($event);
        dump($event->getRequest());
        // GET https://dev.example.com/?qr=hubi
        // dump($request->query->get('qr'));
    }
}
<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <services>
        <service id="QRLinker\Subscriber\QRLinkerSubscriber" >
            <tag name="kernel.event_subscriber" />
        </service>
    </services>
</container>

此代码有效:

<?php declare(strict_types=1);

namespace QRLinker\Subscriber;

use Shopware\Storefront\Page\PageLoadedEvent;
use Shopware\Storefront\Page\GenericPageLoadedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class QRLinkerSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return [
            GenericPageLoadedEvent::class => 'onPageLoaded',
        ];
    }

    public function onPageLoaded (PageLoadedEvent  $event)
    {
        // GET https://dev.example.com/?qr=hubi
        dump($event->getRequest()->query->get('qr'));
        // $event->getRequest()->query->get('qr');
        // echo "shit";
    }
}