Question

Comment ajouter un produit au panier est ce que je travaille déjà, mais il semble fonctionner pour le magasin par défaut uniquement. Alors, quand j'ajouter un produit au panier avec le script sur le site par défaut / magasin, les produits sont ajoutés au panier, mais si je le fais sur un autre magasin, le panier reste vide (sans erreur).

Voici le script ajouter au panier J'ai à ce jour:

require_once($_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php');
umask(0);
Mage::app()->setCurrentStore(Mage::app()->getStore()->getStoreId());

$session = Mage::getSingleton('core/session', array('name'=>'frontend'));
$cart = Mage::helper('checkout/cart')->getCart();

if( $_REQUEST['params_1'] != '' ) {
    try {
        $params_1 = unserialize($_REQUEST['params_1']);

        $productcart = new Mage_Catalog_Model_Product();
        $productcart = $productcart->load($params_1['product']);
        $cart->addProduct($productcart, $params_1);
        $session->setLastAddedProductId($productcart->getId());
    } catch(Exception $e) {
        echo Mage::helper('catalog')->__($e->getMessage());
    }
}

$cart->save();

Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

$_REQUEST['params_1'] contient la configuration du produit bundle comme un tableau qui semble correct car il travaille sur le magasin par défaut.

Ai-je besoin appel $cart = Mage::helper('checkout/cart')->getCart(); différent afin de refléter un autre magasin?

Était-ce utile?

La solution 2

D'accord, je ne sais pas exactement ce qui a résolu, mais je résolu le problème en prenant ces deux étapes:

  1. J'utilisais jQuery.ajax() pour faire un appel AJAX à mon ajaxController Magento qui gère mon ajouter au script panier. C'était un seul fichier .php, mais j'ajouté le code à mon module ajaxController.

  2. Le paramètre URL pour l'appel AJAX est relatif, comme dans url: "/myhelper/ajax/add_to_cart_final_ajax/", maintenant j'Envelopper les URIs avec la fonction d'aide getUrl () comme ceci: url: "<?php echo $this->getUrl('myhelper/ajax/add_to_cart_final_ajax') ?>"

Merci Fabian Blechschmidt pour votre aide et patience quand même!

Autres conseils

Le panier est un represantetion d'une citation. Une citation est attaché à un magasin, donc juste changer l'ID du magasin pourrait ne pas être suffisant si le panier / devis est déjà attaché au mauvais magasin.

Vérifiez la storeId du panier / devis et changer, cela pourrait aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top