2012-03-28 4 views
0

Ich habe ein kleines Skript, das meinen Magento Warenkorb mit Produkten füllt. Es wird für ein Schnellbestellformular verwendet. So wird es mit /quickorder.php?sku1=123 & Qty1 = 1 & sku2 = 124 & Qty2 = 1 usw. aufgerufen. Es funktioniert gut für meine Standard-Shop, aber für den zweiten Laden scheint es, wie es immer füllen will der Standard-Einkaufswagen. Zumindest leitet es mich auf die Standard-Warenkorb-URL um.Magento Fill Cart von externem Script mit verschiedenen Storebühnen

Wie kann ich das einrichten, um Produkte zu meinem Warenkorb hinzuzufügen, in welchem ​​Geschäft ich mich gerade befinde?

Vielen Dank im Voraus

<?php 
require_once 'app/Mage.php'; 

Mage::app(); 

Mage::getSingleton('core/session', array('name'=>'frontend')); // Session erzeugen   

$Cart = Mage::getSingleton('checkout/cart'); // Instanz zum Warenkorb 

for ($count=1; $_POST['sku'.$count]!=''; $count++) { 

$sku = $_POST['sku'.$count]; 
$qty = $_POST['qty'.$count]; 
$catprod = Mage::getModel('catalog/product'); 
$product_id = $catprod->getIdBySku($sku); 

if ($product_id) { 

    $ProdObj = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($product_id); // Produkt laden 

    $Cart->addProduct($ProdObj, $qty); // Produkt in den Warenkorb einfügen 

    Mage::getSingleton('checkout/session')->addSuccess('Artikelnummer "'.$sku.'" wurde '.$qty.'x hinzugef&uuml;gt.'); 

} else Mage::getSingleton('checkout/session')->addError('Artikelnummer "'.$sku.'" wurde nicht gefunden.'); 
} 
$Cart->save(); // Warenkorb speichern 

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

header('Location: '. Mage::getUrl('checkout/cart')); 

?> 
+0

, wo Sie diese URL-String generiert haben? ist das automatisch oder nur ein einfaches Präfix? Ich meine '/quickorder.php?' –

+0

es heißt von einem Formular auf einer CMS-Seite in Magento – rekorder

Antwort

0

Sie können Produkt erhalten Speicher-ID, wie unten:

$productModel = Mage::getModel('catalog/product'); 
$product_id = $productModel->load($object->getId()); 
$store_id = $product_id->getStoreId();