2011-07-01 13 views

答えて

11

これは動作するはずです:

$items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems(); 

$weight = 0; 
foreach($items as $item) { 
    $weight += ($item->getWeight() * $item->getQty()) ; 
} 

echo $weight; 

良い方法:

$weight = Mage::getSingleton('checkout/session') 
       ->getQuote() 
       ->getShippingAddress() 
       ->getWeight(); 
+0

ありがとうございました@chapagain、私は試して結果を知ってみましょう。 –

+0

複数の同じ商品をカートに入れた場合、上記のコードは機能しません。常に1つの製品重量を表示し、製品数量には掛けない。どうすればこの問題を解決できますか? –

+0

答えを編集しました。今は、単一の製品に対して複数の数量で動作するはずです。これがうまくいくかどうか返信してください。 –

8

$quote = Mage::getSingleton('checkout/session')->getQuote(); 
$weight = $quote->getShippingAddress()->getWeight(); 
+2

これは受け入れられた答えでなければなりません。 – Eric

+0

shipping_addressがなくても動作します –

0

私はちょうど合計金額の下minicart.phtmlにこれを追加してみ、

<span class="label"><?php echo $this->__('Weight')?>: </span> 
<?php echo $_quote = Mage::getSingleton('checkout/session')->getQuote(); echo $_weight = $_quote->getShippingAddress()->getWeight();?> 

ここに投稿いただきありがとうございます!

関連する問題