Context.customer Cache?

Hallo,

ich habe im Twig Template „buy-widget-price.html.twig“ (Produktdetail-Seite) und in „price-unit.html.twig“ (Kategorieseite) mit {% if context.customer %} {% endif %} den Preis ausgeblendet, um nur eingeloggten Kunden den Preis anzuzuzeigen. Eigentlich funktioniert das auch, aber teilweise scheint Shopware den Block doch zu cachen, denn manchmal wird auf der Artikelseite ein Preis angezeigt.

Eigentlich sollte das doch funktionieren?

Hallo,

die genaue Ursache für die sporadische Preisanzeige kann ich nicht mit Sicherheit sagen.
Packe die Preisanzeige in einen eigenen Block und probiere es mal mit einem Zusatz-Check:

context.customer and not context.customer.guest

PS: Der Preis steht noch an vielen anderen Stellen, z.B. in der Produktsuche, Meta-Tags, Wunschliste, Checkout.

Danke dir für deine Rückmeldung.
Also das Problem ist bis jetzt tatsächlich nicht mehr aufgetaucht, zumindest bei meinen intensiven Tests nicht. Ich weiß bis heute nicht, wie das einmalig aufgetaucht ist, vielleicht einfach ein fehlerhafter Cache der Shopware Installation oder so.

Es funktioniert also (aktuell) wie es soll. Hoffe es bleibt so. Für jede Kundengruppe gibt es bei einer definierten Preisregel ja auch den eigenen Cache, von daher passt das für uns (wir haben den ausgeloggten Status komplett ohne Preis und dann eben die Kundengruppe mit jeweiliger Preisanzeige).

Den Block der Metatags habe ich in die if Abfrage inkludiert.

In der Produktsuche habe ich ihn ebenfalls entfernt, Checkout ist ohne Anmeldung bei uns nicht erreichbar (keine Gastbestellung), Wunschliste haben wir deaktiviert, aber ein guter Hinweis, falls ich die mal aktiviere.