0

カートに商品を追加するために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();

マルチサイトを設定していて、このスクリプトをメインサイトで実行すると正常に機能しますが、サブサイトの1つで実行すると、カートに追加されません。

サブサイトのルート(およびメインサイトのmage.phpを含む)にaddtocart.phpを追加してみましたが、メインサイトのルートに追加しようとしましたが、何も機能しません。

WebサイトIDをどこかに指定する必要がありますか?

ありがとう

4

1 に答える 1

0

まず、単一のピリオドをプレフィックスとして付けたCookieドメインを設定する簡単な手順を実行します。これはワイルドカードのように機能します。

デフォルトの動作では、店舗間でカートを共有しません。「小さなスクリプト」では、アプリを最初に初期化するときに正しいストアが選択されていることを確認してください。

Mage::app($storeId);

ドメインを横断するときに、URLパラメータとしてSIDを含める必要がある場合があります。おそらくリファラーページから、その値をどのように見つけるかわかりません。

于 2011-03-17T15:52:51.597 に答える