ajouter au panier ne fonctionne pas localhost Uniquement en chrome (nouvelle installation de Magento 2)

18

J'ai installé magento 2 sur localhostet j'essaie d'ajouter des articles au panier mais cela n'a pas fonctionné ..

lorsque vous cliquez sur le bouton Ajouter au panier , le bouton se transforme en ajout et y reste, n'a pas été ajouté à l'article du panier.

Toute suggestion ?

Arslantabassum
la source

Réponses:

29

Modifiez votre URL de base de localhostà 127.0.0.1.

L'utilisation en localhosttant que domaine dans votre URL de base provoque des problèmes dans Magento 2.

La configuration de l'URL de base de Magento se trouve dans le core_config_datatableau. Il valuepeut être nécessaire de modifier les éléments suivants:

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

Par exemple, si vous l'aviez précédemment http://localhost/magento2community/, vous devez le remplacer parhttp://127.0.0.1/magento2community/

Après avoir changé l'URL, videz le cache ( bin/magento cache:flush). Vous devrez peut-être également effacer vos répertoires var .

Naveenbos
la source
1
pourquoi la réponse est-elle écrite sous forme de code?
Jon
1
Cela a résolu mon problème sur MAMP.
Klevis Miho
1
Très bien merci.
Sarfaraj Sipai
11
  1. Veuillez changer localhostpour 127.0.0.1,
  2. Pour changer directement à partir de la base de données Goto -> core_config_datatable
  3. Ensuite, modifiez l'URL de base sécurisée et non sécurisée

http: // localhost / à http://127.0.0.1

Sheshgiri Anvekar
la source
6

Ceux qui ne souhaitent pas modifier l'URL localhost pour ce problème.

Le problème est dû à une incompatibilité form_key. La clé de formulaire qui est publiée lors de l'action d'ajout au panier est incompatible avec la clé de formulaire de session de magasin.

Aller à

vendeur / magento / module-checkout / Controller / Cart / Add.php execute ()

et commentez la condition If ci-dessous.

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

REMARQUE: ce n'est pas une solution recommandée pour l'environnement de production.

Référence: solution rapide .

Franc
la source
merci beaucoup monsieur
sarvesh Dineshkumar Patel
2

Après mon test, Magento 2 ne peut pas fonctionner correctement en même nom de domaine, comme http://localhost/, http://mysite/, http://localsite/etc.

Autre que l' utilisation du 127.0.0.1 directement, nous pourrions changer notre url du site comme http://mysite/à http://mysite.local/, et ajouter 127.0.0.1 mysite.localà notre ordinateur fichier hôte , nous pourrions utiliser la fonction de site comme « ajouter au panier » correctement.

Key Shang
la source
1

J'ai eu le même problème sur mon hôte local. Fondamentalement, j'ai changé l'URL de base de la zone d'administration.

Accédez à la boutique -> configuration -> Web -> URL de base ->

le changer en http://127.0.0.1/your_magento_installation/

cela a fonctionné de moi.

Dhimant
la source
0

Le problème peut être résolu en modifiant l'URL de domaine de localhost à 127.0.0.1

Peut être modifié dans la base de données dans core_config_data

définissez web / unsecure / base_url sur http://127.0.0.1

Après ce cache magento clair et le cache du navigateur et ses travaux.

prashanthi kontemukkala
la source