2012-12-06 12 views
7

私は現在、Magentoショップのトップキャットにカートの合計を表示するためにこのスニペットを使用しています。私の問題は、製品がカートに入れられたときに必ずしも更新されるわけではなく、0 $、特に構成可能な製品を示しているということです。しかし、2番目の製品がカートに入れられると、再び動作します。カートからマゼンタ小計を取得

コードのこの部分の前にある種の「チェック」があるはずですか?

<?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?> 
+0

を使用すると、設定可能な製品の動作を変更する任意の拡張子を持っていますか?設定可能な最終価格が既存の子商品から取得されたようですが、最初に追加されると子商品はカート項目としてまだロードされていないので、最終価格は0になります。 –

答えて

17

あなたはまた私

<?php echo Mage::helper('checkout/cart')->getQuote()->getSubtotal() ?> 
のために、それは動作するコードを以下試すことができます - あなたは Mage_Checkout_Block_Cart_Sidebarを拡張する場合

たとえば、次のように使用するgetSubtotal()

を代替されるだろう呼び出すことができます

+0

それは機能しているようだ、それは設定可能な製品は0 $私は別の製品を追加するまで表示され、両方の製品が正しく表示されます。それは異常です.. –

+0

@ThomasNielsen:カートに入っている製品が変更されても小計が変わらない同じ問題を抱えていますが、私の場合は単純な製品を使っていても設定できません。 – jarus

+0

@Jarus:はい、シンプルな製品でうまくいきました。構成可能な製品で完全に動作させることは決してありません。価格を正しく追加したくない「Better Configurable Products」拡張機能はありません。 私はこのコードを使用します: <?php echo Mage :: helper( 'checkout') - > formatPrice($ this-> getSubtotal())?> –

2

トップカートブロックがMage_Checkout_Block_Cart_Sidebarなどの関連ブロックタイプを拡張していることを確認してください。そうすると、不要なコードを書き直す手間を省く便利な機能にアクセスできます。

Mage::getSingleton('checkout/session')->getQuote()->getSubtotal(); 
+0

私は、それは初心者のための仕事のように聞こえます。私はそれにショットを与える –

1

上記のどれも私のために働いていませんでしたが、私はこれを使って小計を得ることができました:

$orderObj = Mage::getModel('sales/order')>loadByIncrementId($this>getOrderId()); 
$orderSubTotal = $orderObj ->subtotal; 
echo '' . $orderSubTotal . ''; 

これはsuccess.phtmlページを参照しています。

あなたはこのコードを使用することができます
2

$subtotals= Mage::getSingleton('checkout/session')->getQuote()->getSubtotal(); 

echo $formattedPrice = Mage::helper('core')->currency($subtotals , true, false); 
関連する問題