Как отобразить ошибки пользовательского контроллера на странице просмотра корзины?
Я создал пользовательский контроллер для добавления нескольких элементов из представления сетки в корзину одновременно.
Работает просто отлично - проблема в том, что сообщения об успехе и ошибках не отображаются на странице просмотра корзины.
Вот контроллер:
<?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
?>
На странице просмотра корзины отображаются сообщения, если я добавляю товар со страницы продукта по умолчанию, я получаю сообщение об успешном выполнении.
Как правильно это сделать?
3
Author: Sean Kimball, 2015-09-26
1 answers
Прямо сейчас вы установили сообщение в core/session
. Нужно установить сообщение в checkout/session
, чтобы получить его на странице оформления заказа.
Mage::getSingleton('checkout/session')->addError(Mage::helper('checkout')->__($errors));
Magento установил сообщение в сеансе оформления заказа при добавлении товара в корзину.
Обратитесь к этим файлам
5
Author: MeenakshiSundaram R, 2015-09-26 17:42:31