2012-03-28 73 views
0

我有一个小脚本,它用产品填充我的magento购物车。它用于快速订单表单。所以它被称为/quickorder.php?sku1=123 & qty1 = 1 & sku2 = 124 & qty2 = 1等 它适用于我的默认商店,但对于第二家商店,它似乎总是想要填充默认的购物车。至少它会将我重定向到默认购物车网址。Magento使用不同的商店视图从外部脚本中填充购物车

如何将此产品加入到我的购物车中?

在此先感谢

<?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

你在哪里生成这个URL字符串?这是自动还是只是一个简单的前缀?我的意思是'/quickorder.php?' – 2012-03-28 17:00:54

+0

它从magento内的cms页面上的表单调用 – rekorder 2012-03-28 23:07:22

回答

0

您可以通过产品获得店铺标识,如下图所示:

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