web-dev-qa-db-ja.com

Magento-header.phtmlでカートアイテムの合計を取得する方法

Magento eCommerceを使用しており、Blankテンプレートを使用してheader.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 ?>
16
TheBlackBenzKid

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));
    ?>
38
TheBlackBenzKid
<?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
Andres Separ

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

1.7に必要なのは、mage:appを既に実行している場合だけです。これがないと何もできません。

さらに、これは数量ではなく「アイテム」カウントのみを表示します。

5
dubrod

カートテンプレートは次の場所にあります。

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()); ?>
4
Pixelomo

ヘルパーオブジェクトを使用して現在のカートオブジェクトを取得し、カートオブジェクト内のアイテムの数をカウントします。

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

もっと http://www.douglasradburn.co.uk/how-to-get-number-of-cart-items-in-magento/

3
d4nyll

カートにリンクするときは、Mage::helper('checkout/cart')->getCartUrl()を実際に使用する必要があります。サイトがサブドメインでホストされている場合、この例は機能しません。

1
Richard
<?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
user2219206