Magento - Как получить данные о товарах в header.phtml
Я использую Magento eCommerce, и я изменил свой заголовок .phtml через шаблон Blank. Код, это мой код, но он показывает пустое.
<?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 ?>
Ответы
Ответ 1
Был ответ на ссылку раньше кого-то по имени SUHUR, я думаю, я собирался вознаградить его за ответ, но кажется, что он удалил свой собственный пост?
Он связан с этим: 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));
?>
Ответ 2
<?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]
Ответ 3
<?php
$_cartQty = Mage::getSingleton('checkout/cart')->getItemsCount();
echo $_cartQty;
?>
Это все, что вам нужно для 1.7, если у вас уже запущен маг: приложение, которое вы не можете сделать без особого.
Кроме того, это показывает только количество элементов, а не количество.
Ответ 4
Используйте вспомогательный объект для получения текущего объекта тележки, а затем подсчитайте количество элементов в объекте корзины.
echo Mage::helper('checkout/cart')->getCart()->getItemsCount();
Больше от http://www.douglasradburn.co.uk/how-to-get-number-of-cart-items-in-magento/
Ответ 5
Здесь вы можете найти шаблон своей корзины:
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()); ?>
Ответ 6
При подключении к тележке вы действительно должны использовать Mage::helper('checkout/cart')->getCartUrl()
. Приведенный пример не будет работать, если ваш сайт размещен в поддомене.
Ответ 7
<?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));
?>
это работает для меня, чем...