2011-03-17 66 views
0

我寫了一個小腳本,通過ajax調用以將產品添加到購物車。Magento Ajax添加到購物車不工作於子網站

$request = Mage::app()->getRequest(); 
$session = Mage::getSingleton('core/session', array('name'=>'frontend')); 
$cart = Mage::helper('checkout/cart')->getCart(); 
foreach($pids as $pid){ 
    if(!pid || $pid == ''){continue;} 
    $product = Mage::getModel('catalog/product')->load($pid); 
    $cart->addProduct($product, $qty); 
} 
$session->setCartWasUpdated(true); 
$cart->save(); 

我有一個多站點設置,當它被主網站下運行此腳本工作正常,但當我的子網站的一個下運行它,它不將其添加到購物車。

我試過在子網站(包括主站點mage.php)的根目錄中有addtocart.php,並且也嘗試將它添加到主站點的根目錄中,但沒有任何效果。

我是否需要在某處指定網站ID?

由於

+0

在不同的域名上的'子網站'?這可能會影響cookie的存儲方式。 – clockworkgeek 2011-03-17 14:25:19

+0

是的,他們都在不同的領域。有沒有辦法解決這個問題?我已經通過發送請求到產品添加到購物車網址工作,但它太慢了。一次添加多個產品可能需要30秒或更長時間。 – sulman 2011-03-17 15:26:51

回答

0

先取設置具有單個週期前綴一個cookie domain的簡單的步驟。這就像一個通配符。

默認行爲是不在商店之間共享購物車。在您的'小腳本'中,確保在首次初始化應用程序時選擇了正確的商店。

Mage::app($storeId); 

有時候在跨越域時需要包含SID作爲URL參數。我不確定你會如何找到這個價值,可能來自推薦人頁面。

+0

感謝clockworkgeek。搞定了!我需要按照您的建議設置商店ID! – sulman 2011-03-17 16:45:58

相關問題