Магенто - Как получить общее количество товаров в корзине в заголовке.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 ?>
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));
?>
<?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 доллара США]
<?php
$_cartQty = Mage::getSingleton('checkout/cart')->getItemsCount();
echo $_cartQty;
?>
Это все, что вам нужно для 1.7, если у вас уже запущено приложение mage:, без которого вы ничего не можете сделать.
Кроме того, это показывает только количество "товара", а не количество.
Используйте вспомогательный объект, чтобы получить текущий объект корзины, а затем подсчитайте количество товаров в объекте корзины.
echo Mage::helper('checkout/cart')->getCart()->getItemsCount();
Больше от http://www.douglasradburn.co.uk/how-to-get-number-of-cart-items-in-magento/
Вы можете найти шаблон своей корзины здесь:
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()); ?>
При привязке к корзине вам действительно следует использовать Mage::helper('checkout/cart')->getCartUrl()
. Приведенный пример не будет работать, если ваш сайт размещен в поддомене.
<?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));
?>
Это работает для меня, спасибо...