Neu isAdmin und Kundenlogin stehen sich im Weg..

bhoernchen

Mitglied
25. Mai 2023
13
1
Bei uns sollen Kunden keine zusätzlichen Adressen einrichten können, aber der Administrator sollte dies für den Kunden tun können. Ich unterscheide zwischen Kunden und Administratoren anhand der Funktion isAdmin im Template. Oberflächlich betrachtet ist das recht einfach und funktioniert einwandfrei: Der Kunde kann keine Adresse hinzufügen, aber der Administrator kann dies tun, wenn er gleichzeitig als Kunde eingeloggt ist.
Ich habe das in der TPL Datei --- templates/NOVA-Child/account/shipping_adresse_form so in der art stehen..

{if \JTL\ Shop::isAdmin()}
<h3 class class="adminmarker melder" style="color:#f40d0d45;">Admin Modus <span class="small">(shipping_adresse_form)</span></h3>
{else}
{/if}

So Je nachdem in welcher reinfolge ich mich einlocke. Ändert sich jetzt die Anzeige. wenn ich erst als Kunde und mich dann als Admin einlogge wird der H3 Tag richtig Angezeigt..
wenn umgekehrt mich erst als Admin und mich dann als Kunde einlogge wir der H3 Tag nicht Angezeigt..

Die Funktion liegt in der Shop.php... die Session heißt immer JTLSHOP
public static function isAdmin(bool $sessionSwitchAllowed = false): bool
{
if (\is_bool(self::$logged)) {
return self::$logged;
}
if (\session_name() === 'eSIdAdm') {
// admin session already active
self::$logged = self::Container()->getAdminAccount()->logged();
self::$adminToken = $_SESSION['jtl_token'];
self::$adminLangTag = $_SESSION['AdminAccount']->language;
} elseif (!empty($_SESSION['loggedAsAdmin']) && $_SESSION['loggedAsAdmin'] === true) {
// frontend session has been notified by admin session
self::$logged = true;
self::$adminToken = $_SESSION['adminToken'];
self::$adminLangTag = $_SESSION['adminLangTag'];
self::Container()->getGetText()->setLanguage(self::$adminLangTag);
} elseif ($sessionSwitchAllowed === true
&& isset($_COOKIE['eSIdAdm'])
&& Request::verifyGPDataString('fromAdmin') === 'yes'
) {
// frontend session has not been notified yet
// try to fetch information autonomously
$frontendId = \session_id();
\session_write_close();
\session_name('eSIdAdm');
\session_id($_COOKIE['eSIdAdm']);
\session_start();
self::$logged = $_SESSION['loginIsValid'] ?? null;

if (isset($_SESSION['jtl_token'], $_SESSION['AdminAccount'])) {
$adminToken = $_SESSION['jtl_token'];
$adminLangTag = $_SESSION['AdminAccount']->language;
$_SESSION['frontendUpToDate'] = true;

if (self::$logged) {
self::Container()->getGetText();
}
} else {
$adminToken = null;
$adminLangTag = null;
}

\session_write_close();
\session_name('JTLSHOP');
\session_id($frontendId);
\session_start();
self::$adminToken = $adminToken;
self::$adminLangTag = $adminLangTag;
$_SESSION['adminToken'] = $adminToken;
$_SESSION['adminLangTag'] = $adminLangTag;
$_SESSION['loggedAsAdmin'] = self::$logged;
} else {
// no information about admin session available
self::$logged = null;
self::$adminToken = null;
self::$adminLangTag = null;
}

return self::$logged ?? false;
}

Wenn ich beispielsweise die Variablen ausgeben lasse,
print_r($_SESSION['loggedAsAdmin']);
print_r($_SESSION['adminToken']);
steht je nach Reihenfolge des Logins entweder 'Admin/Kunde' oder 'Kunde/Admin' eben die Token drin und die Variable auf loggedAsAdmi=1 oder sie sind halt leer

Soll das so sein und ich mach was verkehrt..
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Wawi Pickliste und WMS Pickliste Kombinieren JTL-Wawi 1.8 0
Neu Notfallplan bei Störung der Schnittstelle zwischen JTL und DHL // Lösung via Import Export gesucht Arbeitsabläufe in JTL-Wawi 2
Neu Capture und Refunds "abfangen"? Plugins für JTL-Shop 0
Neu Konfigurationselemente und Bestellungen Plugins für JTL-Shop 0
Neu Betreuung einer Shops und die damit verbundene Pflege der Plugins. Betrieb / Pflege von JTL-Shop 6
Dropshipping und Beilegeretoure Otto.de - Anbindung (SCX) 2
Neu Kundendaten extern verschlüsseln (Für den eigenen Shop) und per Import importieren Technische Fragen zu Plugins und Templates 2
Neu Wo und wie finde ich meine Kunden mit einer Marketing-Permission? JTL-Shop - Ideen, Lob und Kritik 0
Neu JTL Shipping - Amazon Prime und nicht-Prime JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Amazon - Angebotszuordnung löschen und wieder herstellen Onlineshop-Anbindung 1
Neu Attribute wie Farbe und Größe lassen sich nicht filtern WooCommerce-Connector 0
Farbe zwischen Header und Footer ändern Einrichtung JTL-Shop5 0
Neu WMS Vorteile und Nachteile JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 5
Neu Mehrsprachiger Shop-Aufbau: .de und .nl Domain - worauf muss man achten? Allgemeine Fragen zu JTL-Shop 5
Neu Wie kann ich mit der Wawi Ebay Rechnungen erstellen und nach ebay hochladen? eBay-Anbindung - Fehler und Bugs 3
Ameisen-Export Buchungsdaten (Rechnungen) - Mahndatum und Mahnstufe fehlen JTL-Ameise - Fehler und Bugs 0
Neu Workflow - Stücklisten im Auftrag abfragen und korrekt in einer Mail auflisten User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL 5, Footerdesign, Boxabstände und Ausrichtung korrigieren Gelöste Themen in diesem Bereich 5
Neu Firmen- und E-Mail Einstellungen - Text hevorheben (fett) und Anordnung in Vorlage anpassen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 23
4K Monitor und Skalierung JTL-Wawi 1.8 2
Neu Updatepolitik und Testen von Software - aktuell 5.2.4 Installation / Updates von JTL-Shop 8
Kunden und Artiekl ausblenden JTL-Wawi App 1
Neu Es werden nur jpg Bilder angezeigt und keine webP Gelöste Themen in diesem Bereich 3
Neu Auftragszahlung über Kasse, Auftrag wird nicht als "Verpackt und Versendet" markiert JTL-POS - Fehler und Bugs 1
Gelöst Kassenschublade und Drucker bei iMin D4 Pro JTL-POS - Fragen zu Hardware 4
Neu eBay zusammenfassen von Aufträgen und Buchhaltung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Selbstabholer und eBay User helfen Usern - Fragen zu JTL-Wawi 6
Workflows: Versandgruppen finden und ansprechen JTL-Wawi 1.8 0
Auswertung POS-Umsätze nach Wochentag und Tageszeit JTL-Wawi 1.7 0
Neu Fehler bei Sprach- und Währungsumstellung Allgemeine Fragen zu JTL-Shop 0
Neu Verkaufspreis Differenz Shop und Wawi JTL-Shop - Fehler und Bugs 4
Neu Mehrere Sprachen aktivieren und verschiede Preise pro Land erstellen Betrieb / Pflege von JTL-Shop 1
Neu Paypal Plugin Version 1.2.0 läuft und 1.4.0. läuft nicht auf derselben Umgebung Plugins für JTL-Shop 0
Neu Was steckt hinter der Zahl von 53 Bildern auf Ebay bei Variationsartikeln (und einer unsinnigen Fehlermeldung der Wawi)? eBay-Anbindung - Fehler und Bugs 5
Neu Filtereinstellungen: wenn Sonderpreis bei Vater- oder Kindartikeln, Anzeige von Vater- UND Kindartikeln User helfen Usern - Fragen zu JTL-Wawi 5
Neu Sprachvariablen nicht in korrekter Groß- und Kleinschreibung JTL-Shop - Fehler und Bugs 4
Neu Gewicht auf Rechnung (Artikelgewicht und Zusatzgewicht) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Neues Plugin: Google Translate / Übersetzer (DSGVO-konform und weitere Features) Plugins für JTL-Shop 2
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Neu JTL Shopify Connector und Billbee frage Shopify-Connector 0
Neu Neues Plugin: Instagram-Feed Portlet (Als Galerie- oder Slideransicht und weitere Features) + 3x kostenlose Lizenzen Plugins für JTL-Shop 4
In Bearbeitung Startschwierigkeiten Scanner und Bon Drucker Allgemeine Fragen zu JTL-POS 3
Neu JTL Worker 2.0 und tinetbestellung Technische Fragen zu den JTL-Connectoren 0
Neu Position Versandkosten und Versandkostenname in PositionTable ausblenden - neuen Vorlagen. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Liste aller Namespaces und dessen Aufgabe Allgemeine Fragen zu JTL-Shop 0
Kundenattribute aus Shop übernehmen und aus Wawi zurück an Shop übermitteln Einrichtung JTL-Shop5 1
Neu Warenkorb Hinweise bei Bestandsänderung und Preisänderung Allgemeine Fragen zu JTL-Shop 2
In Bearbeitung Artikel über csv-Datei bearbeiten und importieren Allgemeine Fragen zu JTL-POS 3
Verbindung zu Kundencenter geht verloren und Lizenz muss erneut abgteglichen werden JTL-Wawi 1.8 16
Landingpage Header und Footer erstellen zwecks Vorbestellung Einrichtung JTL-Shop5 0

Ähnliche Themen