In den Warenkorb funktioniert nicht localhost Nur in Chrom (Magento 2 frisch installiert)

18

Ich habe Magento 2 frisch installiert localhostund versucht, Artikel in den Warenkorb zu legen , aber es hat nicht funktioniert.

Wenn Sie auf "In den Warenkorb" klicken , ändert sich die Schaltfläche in " Hinzufügen" und bleibt dort. Es wurde kein Artikel in den Warenkorb gelegt.

Irgendein Vorschlag ?

Arslantabassum
quelle

Antworten:

29

Ändern Sie Ihre Basis-URL von localhostzu 127.0.0.1.

Die Verwendung localhostals Domain in Ihrer Basis-URL führt in Magento 2 zu Problemen.

Die Basis-URL-Konfiguration von Magento befindet sich in der core_config_dataTabelle. Folgende valuePunkte müssen möglicherweise geändert werden:

  • web/unsecure/base_url
  • web/secure/base_url

Wenn Sie dies zuvor getan haben http://localhost/magento2community/, sollten Sie dies beispielsweise in ändernhttp://127.0.0.1/magento2community/

Leeren Sie nach dem Ändern der URL den Cache ( bin/magento cache:flush). Möglicherweise müssen Sie auch Ihre var-Verzeichnisse löschen .

Naveenbos
quelle
1
Warum ist die Antwort als Code geschrieben?
Jon
1
Dies löste mein Problem auf MAMP.
Klevis Miho
1
Funktioniert gut, danke.
Sarfaraj Sipai
11
  1. Bitte wechseln Sie localhostzu 127.0.0.1,
  2. Um direkt aus der Datenbank zu wechseln, gehen Sie zu -> core_config_dataTabelle
  3. Ändern Sie dann die sichere und ungesicherte Basis-URL

http: // localhost / to http://127.0.0.1

Sheshgiri Anvekar
quelle
6

Diejenigen, die die localhost-URL für dieses Problem nicht ändern möchten.

Das Problem liegt an der Nichtübereinstimmung von form_key. Der Formularschlüssel, der während der Aktion "In den Warenkorb" veröffentlicht wird, stimmt nicht mit dem Formularschlüssel der Geschäftssitzung überein.

Gehe zu

Hersteller / Magento / Modul-Checkout / Controller / Cart / Add.php execute ()

Methode und kommentieren Sie die unten stehende If-Bedingung aus.

if (!$this->_formKeyValidator->validate($this->getRequest())) {
        return $this->resultRedirectFactory->create()->setPath('*/*/');
    } 

HINWEIS: Dies ist keine empfohlene Lösung für die Produktionsumgebung.

Referenz: Schnellkorrektur .

Franc
quelle
Vielen
2

Nach meinem Test, Magento 2 kann nicht richtig funktioniert einzigen Domain - Name, wie http://localhost/, http://mysite/, http://localsite/usw.

Andere als die Verwendung der 127.0.0.1 direkt, könnten wir unsere Website - URL ändern wie http://mysite/zu http://mysite.local/, und fügen Sie 127.0.0.1 mysite.localin unsere Computer - Host - Datei , dann könnten wir die Seite Funktion wie „add to cart“ richtig verwenden.

Key Shang
quelle
1

Ich hatte das gleiche Problem auf meinem Localhost. Grundsätzlich habe ich die Basis-URL aus dem Admin-Bereich geändert.

Gehen Sie zu store -> configuration -> web -> Base URL ->

ändere es in http://127.0.0.1/your_magento_installation/

es hat bei mir funktioniert.

Dhimant
quelle
0

Das Problem kann behoben werden, indem die Domain-URL von localhost auf 127.0.0.1 geändert wird

Kann in der Datenbank in core_config_data geändert werden

setze web / unsecure / base_url auf http://127.0.0.1

Danach löschen Sie den Magento-Cache und den Browser-Cache und seine Funktionen.

prashanthi kontemukkala
quelle