Php Magento正在尝试将会话id设置为以编程方式添加到购物车

Php Magento正在尝试将会话id设置为以编程方式添加到购物车,php,magento,Php,Magento,我已经设置了一个模块,通过编程将产品添加到购物车中。我发誓我让它工作,但最近发现它不是。这方面的背景是,我们的客户有一个第三方产品,客户可以访问他们网站上的一个页面,查看该第三方的产品,并将一个项目添加到我们的购物车中。第三方服务与iframe一起放在我们的页面上。我将他们需要的信息传递给他们,他们会发回一个响应,我创建了一个产品,然后将该产品添加到购物车中 一切正常,除了用户的购物车中有其他东西,然后添加来自第三方的某个产品,然后将其从购物车中删除。我知道这是一个会话,我已经设置了sessio

我已经设置了一个模块,通过编程将产品添加到购物车中。我发誓我让它工作,但最近发现它不是。这方面的背景是,我们的客户有一个第三方产品,客户可以访问他们网站上的一个页面,查看该第三方的产品,并将一个项目添加到我们的购物车中。第三方服务与iframe一起放在我们的页面上。我将他们需要的信息传递给他们,他们会发回一个响应,我创建了一个产品,然后将该产品添加到购物车中

一切正常,除了用户的购物车中有其他东西,然后添加来自第三方的某个产品,然后将其从购物车中删除。我知道这是一个会话,我已经设置了
sessionId
,因为这是我设置的参数之一,并传递给第三方,然后他们会发回

下面是我的代码示例

$checkoutSession = Mage::getSingleton('core/session');
$checkoutSession->setSessionId($sessionId); // which is my session ID I get back from the third party and is the customers session id
$product = Mage::getSingleton('catalog/product');
$product->load($productId);
$check = $product->isSalable();
$cart = Mage::getModel('checkout/cart');
$cart->init();
try {
    $cart->addProduct($product, array('qty' => $qty));
    $cart->save();
}
catch (Exception $ex) {
    //Handle the error
}

你可能认为这就是你所需要的,但它不起作用。我曾经以为它能用,但我想不行。如果我调试并说出
getSessionId()
,它看起来是正确的,但是如果你查看session对象,它仍然在
visitor\u data
数组中说sessionId是旧的。

试试这个:

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

将其放入magento根目录下的index.php中

header('P3P: CP="CAO PSA OUR"');