PriceCalculationDecorator liefert mit HTTP-Cache falsche Ergebnisse trotz User spezifischen CacheID

Grüße

ich habe schon ein paar PriceCalculationDecorator nach diesem Beispiel (https://github.com/synonymous1984/SynonymousPriceCalculator) erfolgreich umgesetzt. Habe jetzt aber auf mehreren Shopware 5.3.4 Systemen das Problem, dass auf der Detailseite trotz der filterHttpCacheId() Methode das zuletzt gecachte Template ausgeliefert wird (Welche ja eigentlich genau dafür da ist, dies zu verhindern, da im Shopware Standard der Cache nur beim Wechsel der Kundengruppe invalidiert wird). In meinem Beispiel sollen Preise aber abhängig vom Kunden berechnet werden, nicht der Kundengruppe.

Beispiel
UserId 1 (EK Kunde) loggt sich ein ruft die Detailseite auf alles passt.
UserId 2 (ebenfalls EK) loggt sich ein ruft die Detailseite auf und bekommt die selbe Seite wie User1 (und dementsprechend den selben Preis)

Wenn ich ein var_dump() auf Shopware()->Session()->sUserId in der filterHttpCacheId Funktion mache, steht da ebenfalls die Id des ersten User, also in dem Fall die 1. Nach dem Login, in der Accountübersicht wird allerdings die 2 ausgegeben, erst bei Wechsel auf die Detailseite steht plötzlich wieder die 1 drin. Erst wenn ich die Warenkorbseite aufrufe, passt dann der Wert der in der Session gespeicherten UserId auch auf der Detailseite wieder, als würde Shopware erst mit dem Aufruf der Warenkorbseite den Cache für diesen User invalidieren.

Hatte jemand das Problem zufällig auch schon? Bzw. kann sich jemand spontan einen Reim darauf machen, wieso dieses Verhalten auftritt? 

Gruß
Daniel

Guten Morgen,

das Thema interessiert mich auch. Hat niemand eine Idee?

 

Gruß
Ottscho