Hallo liebe Community, ich glaube das ist hier schon so oft gefragt worden, nur irgendwie fehlt immer ein Lösungsansatz oder ich bin zu doof dafür… Und zwar bräuchte ich eine Loginprüfung (ob ein Kunde eingeloggt ist im Frontend). Es gibt ja die Variable {if $sUserLoggedIn}
dafür. Ich habe in einem Childtheme die search.tpl um ein paar Felder und 2 Buttons erweitert. Allerdings würde ich jetzt gerne die beiden Buttons nur anzeigen lassen wenn man eingeloggt ist. Mit der oberen Variable funktioniert es leider nur im Accountbereich und im Warenkorb. Ich habe mittlerweise sehr viel gelesen „Es liegt am neuen Cachesystem, usw.“. Woran es nun liegt ist mir unklar. Ich lese auch sehr oft man soll ein Plugin bauen oder ich lese ich habe es mit einem Plugin gelöst. Nur keiner sagt wie. Als Shopware Neueinsteiger tue ich mich mit der Shopwaredoku noch sehr schwer. Ich habe auch schon nach Doku versucht ein eigenes Plugin zu schreiben nur bekomme meistens immer nur eine weiße Seite als Antwort… Über eine Lösung für mein Problem wäre ich dankbar oder jemand der mir mal so ein Plugin erklärt für Dummies bin anscheind zu doof dafür. Liebe Grüße
Das Problem liegt darin, dass die Controller die Variable nicht überall als Templatevariable übergeben tut. D.h die Variable wird dir nur da zur Verfügung gestellt, wo es das System auch vorgesehen hat, z.B. beim Checkout! Du kannst nun die einzelnen Controller bearbeiten, damit dir die Variable dann dort zur Verfügungsteht, oder du musst dir ein eigenes Plugin programmieren, welches dir Variable immer zur Verfügung stellt ( Meine Lösung ). Schreib mich mal privat an, falls du noch an einer Lösung interessiert bist.
Hier muss man vorsichtig sein, wenn der http Cache aktiv ist. Am besten Benutzer relevante Informationen immer nur per action widget nachladen. Viele Grüße
Beim Checkout und Acount werden doch die Arrays $sUserData und $sUserLoggedIn übergeben. Nachvollziehbar ist das ja eh nur mit dem Debugger, der ja nicht an sein sollte… Wenn ich nun mit Hilfe eines Plugins, die Variabeln mir immer zur Verfügung stelle, wie es z.B das Advancedmenu mit seinem Array macht, gehe ich da jetzt ein Sicherheitsrisiko ein? Komme noch nicht ganz dahinter, wobei ich nun genau aufpassen muss…