Hallo, ich frage mich, ob es Nachteile bei der Verwendung eines dauerhaften Einkaufswagens in Magento gibt. Wenn ich dies aktiviere, müssen Personen ein Konto erstellen und nicht mehr als Gäste auschecken? Vielen Dank
quelle
Hallo, ich frage mich, ob es Nachteile bei der Verwendung eines dauerhaften Einkaufswagens in Magento gibt. Wenn ich dies aktiviere, müssen Personen ein Konto erstellen und nicht mehr als Gäste auschecken? Vielen Dank
@Marius Während Sie erwarten würden, dass dies in der Realität logisch ist, gibt es einen Randfall, in dem die Option zum Auschecken von Gästen deaktiviert ist.
Reproduzieren
var/session
VerzeichnisUrsache
Ein aufgerufenes Ereignis checkout_allow_guest
wird von ausgelöstMage_Checkout_Helper_Data::isAllowedGuestCheckout()
Dies wird dann von Mage_Persistent_Model_Observer :: disableGuestCheckout () beobachtet, wodurch die Option zur Verwendung der Gastkasse deaktiviert wird.
Die Ursache dafür ist, dass die Sitzung von Mage_Persistent_Helper_Session :: isPersistent () mit dem Wert des Persistenz-Cookies geladen wird:
if (is_null($key)) {
$key = Mage::getSingleton('core/cookie')->get(Mage_Persistent_Model_Session::COOKIE_NAME);
}
Fix - Ereignisbeobachter deaktiviert
Sie müssen ein neues Modul mit zwei Dateien erstellen.
app/code/local/JZah/AllowPersistentGuestCheckout/etc/config.xml
::
<?xml version="1.0"?>
<config>
<modules>
<JZah_AllowPersistentGuestCheckout>
<version>0.1.0</version>
</JZah_AllowPersistentGuestCheckout>
</modules>
<frontend>
<events>
<checkout_allow_guest>
<observers>
<persistent>
<type>disabled</type>
</persistent>
</observers>
</checkout_allow_guest>
</events>
</frontend>
</config>
app/etc/modules/JZah_AllowPersistentGuestCheckout.xml
::
<?xml version="1.0"?>
<config>
<modules>
<JZah_AllowPersistentGuestCheckout>
<active>true</active>
<codePool>local</codePool>
<depends>
<Enterprise_Persistent/>
</depends>
</JZah_AllowPersistentGuestCheckout>
</modules>
</config>
Erstellt für Magento EE 1.14.1.0
Ich denke, Sie verstehen das Konzept des "beständigen Einkaufswagens" in Magento nicht.
Dies hat nichts damit zu tun, das Auschecken von Gästen zuzulassen oder nicht.
Das einzige, was es tut, ist, ein Cookie zu setzen, das es dem Kunden bei seinem nächsten Besuch auf der Website ermöglicht, mit demselben Browser auf demselben Gerät seinen Warenkorb von seinem vorherigen Besuch anzuzeigen (und andere, wie Wunschliste, verglichene Produkte , ...) ohne sich anmelden zu müssen.
Gast und angemeldete Kasse funktionieren genauso, wenn der permanente Warenkorb aktiviert oder deaktiviert ist.