Hallo,
ab Shopware 6.5 ist die Variable/Struktur newsletterAccountPagelet
im Account-Template enthalten.
Ich brauche diese Daten auch in einem anderen Template. Kann mir jemand einen Tipp geben, wie man die verfügbar macht?
Viele Grüße, Frank
Hallo,
ab Shopware 6.5 ist die Variable/Struktur newsletterAccountPagelet
im Account-Template enthalten.
Ich brauche diese Daten auch in einem anderen Template. Kann mir jemand einen Tipp geben, wie man die verfügbar macht?
Viele Grüße, Frank
Hallo,
Hilfe: mein aktuell einziger Ansatz ist ein Subscriber, der auf NewsletterAccountPageletLoadedEvent
anspringen soll:
public static function getSubscribedEvents(): array
{
return [
NewsletterAccountPageletLoadedEvent::class => 'onNewsletterAccountPageletLoadedEvent'
];
}
public function onNewsletterAccountPageletLoadedEvent(NewsletterAccountPageletLoadedEvent $event): void
{
error_log(print_r($event->getPagelet(), true));
}
Meine Hoffnung war, dass die Daten vom Pagelet dann im Log-File stehen .
Das Ereignis triggert aber nicht. Wäre dass überhaupt der grundsätzliche Weg um an die Daten aus dem Pagelet ranzukommen, oder geht dass irgendwie anders?
Hallo,
falls jemand mal ähnliche Probleme hat, habe ich nun sogar zwei Möglichkeiten gefunden:
Im Subscriber mittels Kundendaten und newsletterRecipientRepository
abfragen, ob der Kunde den Newsletter bezieht und via
$event->getContext()->addExtension('myPlugin', new ArrayEntity([
'NewsletterStatus' => $recipient->getStatus()
]));
für das Template verfügbar machen.
oder:
newsletterAccountPageletLoader
nutzen:
$newslAccountPagelet = $this->newsletterAccountPageletLoader->load($request, $context, $customer);
$page->addExtension('myPlugin', new ArrayEntity([
'newsletterAccountPagelet' => $newslAccountPagelet
]));