Meine Website ist mit drei verschiedenen Stores
und ich möchte die cart sharing
Funktion zwischen den Geschäften deaktivieren . Wenn ich also von einem Geschäft zu einem anderen Geschäft wechsle, sollte das Produkt in meinem Warenkorb nicht gültig sein oder nicht in einem anderen Geschäft angezeigt werden.
Product added to the specific store should be displayed on the specific store only.
magento2.2.2
session
quote
shopping-cart
Rakesh Jesadiya
quelle
quelle
Antworten:
Ich bin nicht sicher, ob dies funktioniert, es ist nur eine Idee: Das Angebot hat die Funktionalität, die Geschäfte anzugeben, die das Angebot teilen. Standardmäßig sind dies alle Geschäfte einer Website. Wenn es möglich ist, vor dem Laden des Angebots eine Liste mit speziellen Geschäften zu erstellen, ist es meines Erachtens möglich, das Angebot auf eine Teilmenge aller Geschäfte einer Website zu beschränken, in Ihrem Fall nur auf das eigentliche Geschäft.
Eine Idee könnte sein, die Speicherbeschränkung in einem Plugin vor der
get
Methode in festzulegenMagento\Quote\Model\QuoteRepository
, die immer aufgerufen werden sollte, wenn ein Angebot geladen wird.Auch hier ist es nur eine Idee, die möglicherweise nicht funktioniert und der Code wird nicht getestet und dient nur dazu, meine Gedanken zu demonstrieren.
Ich freue mich darauf zu hören, was Sie über diesen Ansatz denken.
quelle
Standardmäßig unterstützt Magento den Warenkorb für die gemeinsame Nutzung von Websites. Dazu müssen Sie die folgenden Einstellungen sicherstellen:
Um die Funktion zur gemeinsamen Nutzung von Einkaufswagen zu deaktivieren, empfehle ich, Ihre Cookie-Domain zu ändern. Z.B
Speicher 1:
https://mystore.com
=> Cookie-Domain:.mystore.com
Speicher 2:
https://mystore2.com
=> Cookie-Domain:.mystore2.com
Deaktivieren Sie die Funktion zum Freigeben von Kundenkonten. Andernfalls müssen Sie möglicherweise eine Möglichkeit finden, die Sitzungs-ID zwischen Filialen (SID) neu zu generieren. Der Magento Store Switcher hat automatisch die SID für Filialen hinzugefügt. Ich empfehle, den Filialumschalter nicht zu verwenden, sondern Ihren eigenen Filialumschalter zu entwickeln Vermeiden Sie angehängte SID.
Ich hoffe das hilft.
quelle
website.com/store2
, sollten Sie anstelle der Cookie-Domain in den Cookie-Pfad schauen.Gehen Sie zu Ordner Location Vendor / Magento / Module-Checkout / Model / Open File Session.php. Suchen Sie nun in dieser Datei nach der Funktion _getQuoteIdKey und ersetzen Sie die Website-ID durch die Store-ID.
Ersetzen Sie diese Zeile
Jetzt arbeiten alle Warenkörbe aller Geschäfte, die zur selben Website gehören, unabhängig voneinander.
quelle