를 표시하는 방법에서 발생한 오류는 사용자 정의 컨트롤러에서 보기 cart 페이지?
-
13-12-2019 - |
문제
내가 만든 사용자 정의 컨트롤러를 추가하는 여러 항목에서 그리드 뷰 카트 모니다.
작-는 문제입니다 성공과 오류 메시지가 표시되지 않에 view cart 페이지입니다.
여기서 컨트롤러:
<?php
class BigBlockStudios_UpdateCart_ManageController extends Mage_Core_Controller_Front_Action {
// add multiple products to the cart
public function multipleProdAddAction() {
$redirect = isset($_POST['redirect']) ? $_POST['redirect'] : 'checkout/cart';
$success = '';
$errors = '';
$cart = Mage::helper('checkout/cart')->getCart();
$items = $_POST['data'];
foreach($items as $key => $item){
$sku = $item['sku'];
$qty = $item['qty'];
$id = Mage::getModel('catalog/product')->getIdBySku($sku);
if(!$id || $qty <= 0) {
unset($items[$key]);
}else{
try {
$params = array('qty' => $qty);
$id = Mage::getModel('catalog/product')->getIdBySku($sku);
$product = Mage::getModel('catalog/product')->load($id);
$cart->addProduct($product, $params);
$success .= $product->getName(). " is successfully added into cart <br />";
}catch(Exception $e) {
$errors .= $e->getMessage() . '<br />';
}
}
}
$cart->save();
if(strlen($success) > 1) {
Mage::getSingleton('core/session')->addSuccess(Mage::helper('checkout')->__($success));
}
if(strlen($errors) > 1){
Mage::getSingleton('core/session')->addError(Mage::helper('checkout')->__($errors));
}
$this->_redirect($redirect);
} // multipleProdAddAction()
} // controller
?>
View cart 페이지의 메시지를 표시하는 경우 추가 항목에서는 기본 제품 페이지,나는 성공 메시지가 표시됩니다.
방법은 무엇입의 하이?
해결책
지금 당신이 메시지를 설정에서 core/session
.이 있을 설정하는 메시지 checkout/session
에서 그것을 얻기 위하여 결제 페이지가 나와 있습니다.
Mage::getSingleton('checkout/session')->addError(Mage::helper('checkout')->__($errors));
Magento 는 메시지를 설정은 체크아웃 세션을 추가하는 동안 제품을 cart.
이 파
제휴하지 않습니다 magento.stackexchange