Neu isAdmin und Kundenlogin stehen sich im Weg..

bhoernchen

Mitglied
25. Mai 2023
22
2
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
Neu Onepage Designer will mit UserLogin/ Admin Login nicht (\JTL\Shop::isAdmin(true)) hat bestimmt Probleme JTL-Shop - Fehler und Bugs 0
Neu JTL-POS Datensicherungen werden immer größer, Archivierung und Neubeginn? Allgemeine Fragen zu JTL-POS 0
Neu JTL Wawi: Bestandsanpassung zwischen eBay und eigenem Onlineshop – Warum funktioniert die Mengeinstellung nicht automatisch? User helfen Usern - Fragen zu JTL-Wawi 1
JTL WAWi 1.9 und Standard Vorlagen 2.0 - Druckvorlagen JTL-Wawi 1.9 4
Neu Probleme mit Varianten dann Stückliste und beim Hinzufügen ist dann schluss JTL-Wawi - Fehler und Bugs 7
Neu Google - Vaterartikel und Kinderartikel Smalltalk 3
Neu Beim Picken: Menge und Platz manuell ändern - Fehlbestand und Abschluss Pickliste JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Bilder in den Artikelstammdaten aktivieren und erneut senden JTL-Wawi 1.9 3
Neu Dropshipping und Versand User helfen Usern - Fragen zu JTL-Wawi 3
Gelöst zusätzliche Kasse - Tablet liest Artikel in Dauerschleife ein und zeigt aber keine an JTL-POS - Fehler und Bugs 4
Neu Konfigurator Einzelteile in Google und im Shop sichtbar Plugins für JTL-Shop 6
Neu Shopauskunft und Bewertungen User helfen Usern 0
Neu Es ist nicht mehr möglich Artiekl bei eBay einzustellen Code 240 und Code 21920203 eBay-Anbindung - Fehler und Bugs 2
Neu Produktbewertungen email - problem und fragen Betrieb / Pflege von JTL-Shop 0
Neu IDeal Zahlung über Paypal und Bestellung nicht erhalten. Geld aber abgebucht.... Allgemeine Fragen zu JTL-Shop 2
Neu JTL Shop SSH Zugang und Hostingpanel User helfen Usern - Fragen zu JTL-Wawi 2
Neu Versandproblem bei unterschiedlichen Produkten und Gewichten Allgemeine Fragen zu JTL-Shop 0
Neu Eigenes Plugin und der cache.. Plugins für JTL-Shop 3
Neu Import von CSV und XML (CSV=Artikel, XML=Variationen der Artikel) JTL-Ameise - Ideen, Lob und Kritik 6
Neu Fehler mit der Synchronisation zwischen Shop und WaWi JTL-Shop - Fehler und Bugs 1
Neu Umtauschartikel und Reparaturdienstleistung, habe ich was falsch eingestellt? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Neu: Das innovative Anzahlungs-Tool für JTL Wawi und JTL POS! Arbeitsabläufe in JTL-Wawi 0
In Diskussion Problem mit Steuerberechnung bei Freieretoure auf Tagesbericht und in Statistiken JTL-POS - Fehler und Bugs 4
Neu Im Shop-Backend vorgenommene Änderungen können nicht mehr automatisiert abgeglichen werden und führen somit zu Datenverlust. Shopware-Connector 0
Neu Kann man manuell versendet setzen und Shipping Labels nutzen? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu Nordirland mit DHL und JTL Shipping Labels JTL-ShippingLabels - Fehler und Bugs 0
Neu Fachbodenregale und Palettenregale zu verkaufen - 86167 Augsburg Dienstleistung, Jobs und Ähnliches 3
Nur Bestellungen und Kundendaten synchronisieren? Shopify-Connector 2
Neu Shipping Labels der Schweizer Post: Pakete und Briefe (Webstamp) JTL-ShippingLabels - Ideen, Lob und Kritik 3
Neu LS-POS und die neuen Editionen Fragen rund um LS-POS 4
Fehler und Bugs nach Update von 4.06 auf 5.3.3 mit Lösungen Sammelthread Upgrade JTL-Shop4 auf JTL-Shop5 3
Neu Mindestbestellwert für B2B und B2C Allgemeine Fragen zu JTL-Shop 7
Neu Unterschied Packtisch und Packtisch+ Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 3
Auswahlmöglichkeiten des Feldes "Anrede" in Shop und WaWi erweitern JTL-Wawi 1.8 0
Gelöst POS und Wawi Verständnisfrage Allgemeine Fragen zu JTL-POS 1
Neu Parent / Child in JTL und shopidy Shopify-Connector 0
Neu Mitarbeiterlogin Kundencenter und IssueTracker? User helfen Usern - Fragen zu JTL-Wawi 4
In Bearbeitung Staffelpreise und Artikelmerkmale Allgemeine Fragen zu JTL-POS 2
Neu Preis/Mwst-Anzeige und Übertragung von Daten aus der Wawi WooCommerce-Connector 4
Neu Ebay Vorlagen ändern und danach Ebay Angebot? User helfen Usern - Fragen zu JTL-Wawi 3
Neu WAWI 1.5, die Zukunft und Lizenzierung User helfen Usern - Fragen zu JTL-Wawi 31
Neu Blog Kategorie und Beiträge verschwunden Allgemeine Fragen zu JTL-Shop 3
Neu PayPal Checkout 1.5.0 - doppelte Texte bei Standardzahlarten Kreditkarte und SEPA Plugins für JTL-Shop 2
Neu Zusatzbilder in Bestell- und Versandmail Allgemeine Fragen zu JTL-Shop 0
Abgleich per Worker 2.0 UND manuell nicht mehr möglich JTL-Wawi 1.8 3
Ebay Angebotstitel und Untertitel in Artikel speichern JTL-Wawi 1.9 1
QR-Code erstellen und in Rechnung einfügen JTL-Wawi 1.7 3
Hilfe benötigt bei der Umstellung von Variantenartikeln und Update auf JTL-Wawi 1.9 JTL-Wawi 1.9 3
Google Workspace und JTL Hosting / Bestätigung der Domain Einrichtung JTL-Shop5 1
Neu JTL Google Shopping Plugin - Farbe und Größe bei mehreren Sprachen Plugins für JTL-Shop 0

Ähnliche Themen