如何从 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";
}
}
所以我正在使用由 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";
}
}