Okay, hab's mir mal angeschaut.
Da es an der besprochenen Stelle darum geht wenn GUEST == 1 ist dem Kunden den folgenden Satz zu präsentieren
"
Aus Datenschutz Gründen können sich leider nur angemeldete Nutzer für diesen Service registrieren."
ist die Frage ob man lediglich nicht-eingeloggte Besucher den Service nicht nutzen lassen möchte oder definitiv auch Besucher mit Gastkonten die eingeloggt sind.
Im ersten Fall wäre weder die Lösung mit der hard-codierten
$_SESSION['customers_status']['customers_status_id'] noch mein Vorschlag der richtige.
Vielmehr sollte dann nach
isset($_SESSION['customer_id']) abgefragt werden, unabhängig von der
customers_status_id, denn es geht ja darum ob der Kunde eingeloggt ist:
if(!isset($_SESSION['customer_id'])) { $info_smarty->assign('GUEST','1');} else { $info_smarty->assign('GUEST', '0');} Im zweiten Fall ist meine Lösung genau richtig, also so:
if($_SESSION['customers_status']['customers_status_id'] == DEFAULT_CUSTOMERS_STATUS_ID_GUEST) {
$info_smarty->assign('GUEST','1');
} else {
$info_smarty->assign('GUEST', '0');
}
Am Ende, und das ist wichtig, bleibt die Frage was
HoldOn genau meinte als er sagte:
[...] bei anderer Vergabe der Kundengruppen ID des Konto "Gast" zB. "2" kommt es zu Fehlern.
Also bei Beispiel Gast ID = 2 muss hier auch die 2 eingetragen werden.
[...]
Meint er die Vergabe einer anderen Kundengruppe im Backend an
DEFAULT_CUSTOMERS_STATUS_ID_GUEST oder die komplette Änderung der
customers_status_id für Gast/Guest in der DB.
Zweites wäre nicht gut und auch evtl. gefährlich (nicht genau untersucht), weshalb ich, abgesehen von dem Thema hier, der Meinung bin, man sollte die Default-Kundengruppe "Gast" nicht löschen können, lediglich umbenennen können dürfen. *EDIT*, was, wie ich gerade sehe, bereits der Fall ist *END_EDIT*
Gruß,
noRiddle