Hatte auch mal so ein Projekt gestartet, und erst nun auf Eis gelegt.
Es reicht nicht, in der Session nur die “Kundengruppe” zu ändern. Spätestens wenn Du den HTTP-Cache benutzt, musst Du auch da noch den Keks “x-cache-context-hash” umschreiben, damit nicht auch für die “neue” Kundengruppe die Daten aus der “ersten Gruppe” ausgeliefert werden (Einkaufswelten, Listen,…).
Inspiration:
https://github.com/shopwareLabs/SwagUserPrice/blob/master/Subscriber/CacheKeyExtender.php weil ja auch für den Kundenpreis der Cache “ausgehebelt” werden muss
Für die “action” selber wirst Du wohl am besten einen eigenen (widget)-Controller anlegen und ein wenig mit AJAX arbeiten müssen.
Button => AJAX auf Controller => setzt Keks => Seite reload.
“Fertiges” habe ich zumindest doch nicht gefunden
Das war zumindest mein Ansatz
Dann musst Du natürlich noch überlegen, was passiert, wenn sich der “umgeschaltete Gast” registriert / anmeldet - ggf. musst Du dann auch da noch die Kundengruppe umschreiben.