Магенто - Как получить общее количество товаров в корзине в заголовке.phtml


Я использую электронную коммерцию Magento и изменил свой заголовок.phtml с помощью пустого шаблона. Код, это мой код, но он отображается пустым.

 <?php $cartQty = $this->getSummaryCount() ?>
    <?php if ($cartQty>0): ?>

            <?php if ($cartQty==1): ?>
                <?php echo $this->__('<a class="cartgo" href="%s">(1 ITEM)</a>', $this->getUrl('checkout/cart')) ?>
            <?php else: ?>
                <?php echo $this->__('<a class="cartgo" href="%s">(%s ITEMS)</a>', $this->getUrl('checkout/cart')) ?>
            <?php endif ?>


    <?php endif ?>
Author: TheBlackBenzKid, 2012-01-19

7 answers

Раньше был ответ на ссылку от кого-то по имени СУХУР, я думаю, я собирался вознаградить его ответом, но, похоже, он удалил свой собственный пост?

Он связался с этим: http://nothingtopost.wordpress.com/tag/how-to-get-total-cart-item-in-magento/

Я изменил свой код, и теперь это работает с файлами .phtml.

<?php
      $count = $this->helper('checkout/cart')->getSummaryCount();  //get total items in cart
      $total = $this->helper('checkout/cart')->getQuote()->getGrandTotal(); //get total price
      if($count==0)
      {
        echo $this->__('<a href="/checkout/cart" class="cartgo">(0 ITEMS)</a>',$count);
      }
      if($count==1)
      {
        echo $this->__('<a href="/checkout/cart" class="cartgo">(1 ITEM)</a>',$count);
      }
      if($count>1)
      {
        echo $this->__('<a href="/checkout/cart" class="cartgo">(%s ITMES)</a>',$count);
      }
      echo $this->__('', $this->helper('core')->formatPrice($total, false));
    ?>
 37
Author: TheBlackBenzKid, 2012-01-19 11:48:34
<?php
    $cartTotal = $this->helper('checkout/cart')->getQuote()->getGrandTotal();
    $cartItemsCount = Mage::helper('checkout/cart')->getCart()->getItemsCount();
    $cartSuffix = ($cartItemsCount != 1) ? 's' : '';

    echo '<a class="cartgo" href="'.$this->getUrl('checkout/cart').'">
              <strong>'.$this->__('Your basket').'</strong><br />'.
              $this->__('(%s) Item%s', $cartItemsCount, $cartSuffix).
              '<span>[$'.$this->helper('core')->formatPrice($cartTotal, false).']</span>
          </a>';
?>

Вывод:

Твоя корзина
3 Предмета [32,5 доллара США]

 9
Author: Andres Separ, 2014-08-27 12:38:00

<?php $_cartQty = Mage::getSingleton('checkout/cart')->getItemsCount(); echo $_cartQty; ?>

Это все, что вам нужно для 1.7, если у вас уже запущено приложение mage:, без которого вы ничего не можете сделать.

Кроме того, это показывает только количество "товара", а не количество.

 5
Author: dubrod, 2013-05-14 18:09:41

Используйте вспомогательный объект, чтобы получить текущий объект корзины, а затем подсчитайте количество товаров в объекте корзины.

echo Mage::helper('checkout/cart')->getCart()->getItemsCount();

Больше от http://www.douglasradburn.co.uk/how-to-get-number-of-cart-items-in-magento/

 3
Author: d4nyll, 2015-02-03 04:19:34

Вы можете найти шаблон своей корзины здесь:

YOURSITE/app/design/frontend/YOURTHEME/default/template/checkout/cart/minicart.phtml

В пределах диапазона с классом .count вы увидите этот фрагмент:

<span class="count"><?php echo $_cartQty; ?></span>

Замените его этим фрагментом, и вместо него отобразится общая сумма:

<?php echo $this->helper('checkout')->formatPrice(Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal()); ?>
 3
Author: Pixelomo, 2016-01-05 15:43:53

При привязке к корзине вам действительно следует использовать Mage::helper('checkout/cart')->getCartUrl(). Приведенный пример не будет работать, если ваш сайт размещен в поддомене.

 1
Author: Richard, 2012-11-02 16:10:22
<?php
      $count = $this->helper('checkout/cart')->getSummaryCount();  //get total items in cart
      $total = $this->helper('checkout/cart')->getQuote()->getGrandTotal(); //get total price
      if($count==0)
      {
        echo $this->__('<a href="/checkout/cart" class="cartgo">(0 ITEMS)</a>',$count);
      }
      if($count==1)
      {
        echo $this->__('<a href="/checkout/cart" class="cartgo">(1 ITEM)</a>',$count);
      }
      if($count>1)
      {
        echo $this->__('<a href="/checkout/cart" class="cartgo">(%s ITMES)</a>',$count);
      }
      echo $this->__('', $this->helper('core')->formatPrice($total, false));
    ?>

Это работает для меня, спасибо...

 0
Author: user2219206, 2013-03-28 10:31:55