Neu Onepage Designer will mit UserLogin/ Admin Login nicht (\JTL\Shop::isAdmin(true)) hat bestimmt Probleme

bhoernchen

Mitglied
25. Mai 2023
18
2
Der gleichzeitige Login als Admin und als Benutzer hat so seine Tücken. Dafür habe ich extra ein leeres Testsystem aufgesetzt, weil wir den Userbereich bei uns ausbauen wollen. Aber selbst der Onepage Designer funktioniert im leeren System unter bestimmten Bedingungen nicht mehr.
Das liegt daran, dass die Routine {if \JTL\ Shop::isAdmin(true)} in Zeile 1 des Templates admin/opc/tpl/startmenu.tpl nicht immer korrekt true ausgibt.
Erweitert man das Template um folgende Zeilen, wird das deutlich: (trennt also die if abfrage aus Zeile 1)

admin/opc/tpl/startmenu.tpl
{if \JTL\Shop::isAdmin(true)}
<h1>der Teil if Abfrage der obwohl ich Admin bin Fals ausgibt </h1>
{/if}
{if $opc->isEditMode() === false && $opc->isPreviewMode() === false}
<h1>der Teil if Abfrage der obwohl ich Admin bin true ausgibt (dem ist es aber auch Egal ob ich Admin bin oder nicht)</h1>
{/if}
Nun loggt man sich zuerst als Admin ein, dann als Benutzer. Bis hierhin ist alles noch wie gewünscht. Loggt man sich jetzt als Benutzer (nicht als Admin) regulär aus, gibt die Funktion \JTL\Shop::isAdmin(true) ein "false" zurück, obwohl man als Admin immer noch eingeloggt ist. Der OnePage Designer und der Debugger, die beide auf diese Funktion :)isAdmin) angewiesen sind, funktionieren dann nicht mehr 100%..(ihre Felder im Frontend werden nicht mehr Anzeigt). Natürlich laufen auch die selbstgeschrieben Template Erweiterungen die auf \JTL\Shop::isAdmin aufbauen nicht mehr 100%.. (z.B. Debug Ausgaben)

Im Issues-Bereich finde ich dazu nichts.

Das Problem kann man beheben, indem man sich als Admin aus- und wieder einloggt. Aber sobald man dann wieder als Benutzer agiert, beginnen die Probleme von neuem. Für mich als Programierer ist das zu Händeln .. Für Leute die die Shop bedienen (hier in der Firma) ist das nur Bedingt zu ertragen..

Ich würde sagen der Fehler liegt in
/includes/src/Shop.php
public static function isAdmin(bool $sessionSwitchAllowed = false): bool
 
Zuletzt bearbeitet:
Ähnliche Themen

Ähnliche Themen