получение промежуточного итога корзины


Я пытаюсь получить промежуточный итог, который находится в корзине. Для этого я вызываю 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 Как мне правильно извлечь одно значение из всей этой информации?

Author: tony09uk, 2013-12-02

1 answers

Вы можете проще получить промежуточный итог следующим образом:

Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
 6
Author: Marius, 2013-12-02 14:51:00