Einzelne ArticleID aus dem Cache nehmen, Invalidate, dass die Detailseite neu aufgebaut wird?

In Abhängigkeit von der Partnerkennung (URL - ?sPartner=beispiel) wird eine bestimmte Kundengruppe zugewiesen, anstelle der Standard-Kundengruppe EK.

Für den Wert von sPartner wird die Session ausgelesen.

$this->container->get('session')->offsetSet('sUserGroup', 'BSP');

Bei Seitenaufruf wird allerdings der Zustand für Kundengruppe EK angezeigt. Erst nach Aktualisieren (F5) wird die Seite dann tatsächlich inklusive der Änderungen für die alternative Kundengruppe BSP aufgebaut. Im Plugin läuft das unter folgendem Event:

public static function getSubscribedEvents()
{ return ['Enlight_Controller_Action_PreDispatch_Frontend' => 'onPreDispatchFrontend']; }
	
public function onPreDispatchFrontend(\Enlight_Event_EventArgs $args)
{ ...

Mein Gedanke war nun, ob es vielleicht möglich ist, die betreffende Detailseite nicht aus dem Cache zu holen, bei Aufruf, sondern in so einem Fall dann komplett neu aufzubauen?

Einen Ansatz, den ich im Forum gefunden hatte, fand ich auf den ersten Blick gar nicht so schlecht:

$Shopware()->Events()->notify('Shopware_Plugins_HttpCache_InvalidateCacheId',array('cacheId' => 'a'.$articleId));

Ergebnis ist dann allerdings eine Fehlermeldung:  Fatal error: Function name must be a string…