2010-03-22 4 views
3

프로그래밍 방식으로 제품을 장바구니에 추가하는 모듈을 설정했습니다. 나는 그것이 작동했음을 맹세했지만 최근에는 그렇지 않다는 것을 알았다. 이에 대한 배경은 고객이 사이트의 페이지로 이동하여이 타사의 제품을보고 장바구니에 항목을 추가 할 수있는 타사 제품을 고객이 갖고 있다는 것입니다. 타사 서비스는 iframe을 사용하여 페이지에 배치됩니다. 나는 그들에게 필요한 정보를 전달하고 제품을 만들어서 그 제품을 장바구니에 추가하는 응답을 보낸다.Magento 프로그래밍 방식으로 세션 ID를 설정하려고 시도했습니다.

사용자가 장바구니에 다른 항목이 있고 장바구니에서 제본 된 제품 중 하나를 추가하는 경우를 제외하면 모든 항목이 검색됩니다. 나는 이것이 세션 일임을 알고 있으며 sessionId를 이미 설정하고 있습니다. 왜냐하면 그것이 제 3 자에게 전달하고 전달하는 매개 변수 중 하나이기 때문입니다. 다음은 내 코드 예제입니다.

$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() 말할 올바른 것처럼 보이지만 세션 개체를 보면 그것은 여전히 ​​visitor_data 배열에서 sessionId가 이전 것입니다 말한다.

답변

1

이를 시도해보십시오의 index.php에서

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

던져이 젠토의 루트에

header('P3P: CP="CAO PSA OUR"'); 
관련 문제