Wie Sie add product to cart programmgesteuert in Magento
Ich bin nicht in der Lage, um Produkt in den Warenkorb programmgesteuert in Magento habe ich versucht alle möglichen Techniken zum hinzufügen von Produkt mit der Menge in den Warenkorb ( in Magento), sind die Dinge, die ich habe versucht und Foren/Websites genommen Hilfe. Aber keiner von Ihnen arbeitet. Ich bin mit Magento Community edition 1.9.1.1. Wenn jemand hat einen Vorschlag/Antwort, bitte teilen.
- Versuchte es per URL - z.B.
[Magento_Store_URL]/checkout/cart/add?product=[id]&qty=[qty]
oder auch wie dieser -[Magento_Store_URL]/checkout/cart/add/product/[id]/qty/[qty]
. Ich habe auch versucht, mitform_key
, erzeugt überMage::getSingleton('core/session')->getFormKey();
. All diese Sachen überhaupt nicht funktioniert. Diese Dinge sind hier erwähnt - Magento website - Als Nächstes habe ich versucht über die programmatisch wie dieser.
HTML:
<?php
require_once 'app/Mage.php';
Mage::app();
$product=new Mage_Catalog_Model_Product();
$product->load(1); //1 is product id, this is simple product ( type)
$quote = Mage::getSingleton('checkout/session')->getQuote();
$quote->addProduct($product, 1 ); //quantity is 1
$cart = Mage::getSingleton('checkout/cart');
$cart->init(); //tried commenting this too!
$cart->addProduct($product, 1 ); //quantity is 1
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
$quote->collectTotals()->save(); header('Location: '. 'http://localhost/magento/index.php/checkout/cart');
- Habe auch versucht folgenden.
HTML:
<?php
require_once 'app/Mage.php';
Mage::app();
$params=array( 'product'=>1, 'qty' => 3 );
$cart = Mage::getSingleton('checkout/cart');
$product = new Mage_Catalog_Model_Product();
$product->load($params["product"]);
$cart->addProduct($product, $params);
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
header('Location: '. 'http://localhost/magento/index.php/checkout/cart');
Habe ich genommen, helfen, aus folgenden websites.
- http://gzchauhan.blogspot.in/2012/03/programmatically-add-product-in-cart-in.html
- Magento - Hinzufügen eines Produktes in den Warenkorb über den Abfrage-string ohne parameter form_key
- https://magento.stackexchange.com/questions/17997/product-not-adding-to-cart
- https://magento.stackexchange.com/questions/32967/programmatically-adding-product-to-cart-returns-empty-price
- http://subasd.com.np/magento-programmatically-add-product-to-cart-with-custom-options/
Ist es falsch in meinem code, was auch immer ich versucht habe, oder gibt es eine Einstellung Problem mit meiner Magento-Installation?
Update 1
Ich habe versucht, von unten die Antwort vorgeschlagen zu dieser Frage, noch ist nicht arbeiten.
HTML:
$formKey = Mage::getSingleton('core/session')->getFormKey();
$params = array(
'product' => 3,
'qty' => 2,
'form_key' => $formKey
);
$product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($params['product']);
$cart = Mage::helper('checkout/cart')->getCart();
$cart->addProduct($product, $params);
$cart->save();
Update 2
Dies ist die Arbeit, wenn ich einen controller und setzen Sie dort Ihren code nicht funktioniert - in einer standalone-Seite verweist /app/Mage.php .
- Nicht sicher, aber vielleicht haben Sie zu geben Sie in Ihrem Skript die aktuelle speichern vor dem speichern: Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
- Ich habe nur den einen store, habe versucht dein Vorschlag, immer noch nicht funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit 1.8 Sie nicht in der Lage, ein Produkt hinzufügen an dem Einkaufswagen von einer GET-Anfrage allein, wie Sie brauchen, um die form_key.
Sollten Sie in der Lage sein, ein Produkt in den Warenkorb mit den folgenden:
form_key
ist die wichtigste Sache richtig zu machen hier.Werfen Sie einen Blick auf die
addProduct
Funktion in app\code\core\Mage\Checkout\Model\Cart.php wenn Sie Debuggen müssen (und dann in der app\code\core\Mage\Sales\Model\Quote.php zu)Hier ist der einfache Weg, um add product to cart/quote: