получение промежуточного итога корзины
Я пытаюсь получить промежуточный итог, который находится в корзине. Для этого я вызываю Mage::getBlockSingleton('checkout/cart_totals')
, похоже, это возвращает коллекцию.
Мне нужно получить одно значение из этой коллекции, поэтому в настоящее время я использую приведенный ниже код
$collection = Mage::getBlockSingleton('checkout/cart_totals');
$total = $collection->getTotals();
echo $total['subtotal']['value'];
Хотя код возвращает ожидаемое значение, я знаю, что это не лучший способ сделать это. В прошлом я использовал mage::getModel('namespace/file')->addFieldToFilter()
, но в этом случае я получаю ошибку, когда пытаюсь использовать этот метод (очевидно, потому что я использую блок, а не модель).
Это наводит меня на мысль, что я не получаю коллекцию, поэтому мои вопросы таковы:
1 Что возвращается?
2 Извлекаю ли я итоговое значение из правильного места?
3 Как мне правильно извлечь одно значение из всей этой информации?
1 answers
Вы можете проще получить промежуточный итог следующим образом:
Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();