나는 장바구니에서 단 하나의 수량을 제거하기 위해 노력하고 있지만, 아무 소용이 없습니다.Magento - 카트에서 하나의 수량 만 꺼내기
아무도 도와 줄 수 있습니까? , R.S. 덕분에 여기에서 작동하는 코드는 다음과 같습니다
는 내가 지금까지 가지고 코드 ...require_once 'app/Mage.php';
Mage::app("default");
Mage::getSingleton("core/session", array("name" => "frontend"));
$session = Mage::getSingleton("customer/session");
$yourProId = $_POST['prodID'];
$qty = 1;
foreach (Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item) {
if ($yourProId == $item->getProductId()) {
Mage::getSingleton('checkout/cart')->removeItem($item->getId())->save();
}
}
UPDATE입니다 이것을 위해서!
$yourProId = $_POST['prodID'];
$qty=1;
$cartHelper = Mage::helper('checkout/cart');
$items = $cartHelper->getCart()->getItems();
foreach ($items as $item) {
if ($item->getProduct()->getId() == $yourProId) {
$qty = $item->getQty() - 1; // check if greater then 0 or set it to what you want
if($qty == 0) {
Mage::getSingleton('checkout/cart')->removeItem($item->getId());
} else {
$item->setQty($qty);
}
$cartHelper->getCart()->save();
break;
}
}
나는 이것을 시도했지만 불행히도 작동하지 않았다. 어떤 이유로 $ item-> getId()는 my $ yourProId와 다릅니다. $ item-> getProductId()를 사용하면 올바른 ID가 반환됩니다. –
아직 운이 없다 : (카트에서 제품을 꺼내지 만 모든 수량을 지우고 싶지는 않습니다. 예를 들어 카트에서 같은 제품을 5 개 가지고 있는데이 기능을 실행하면 0이됩니다. 카트,하지만 4로 내려 가야합니다. –
방금 내 대답을 업데이트합니다 –