2011-06-30 9 views
5

2つの属性で計算され、独自の計算された価格を使用する商品が追加されました。 問題は、私は大金と小計の計算を書き直さなければならないということです。例えば、上書きするなどです。Magento howtoはtotals.phtmlの計算をフェッチ/変更/上書きしますか?

私は/アプリ/設計/フロントエンド/デフォルト/ gutlauf /テンプレート/チェックアウト/カート/アイテム/ デフォルトを変更した

:-)私の問題を解決していたMagentoの第一人者である@stackoverflowここに願っています.phtmlここでカート項目のレイアウトが行われます。

しかし、今私は

<table id="shopping-cart-totals-table"> 
    <col /> 
    <col width="1" /> 
    <tfoot> 
     <?php echo $this->renderTotals('footer'); ?> 
    </tfoot> 
    <tbody> 
     <?php echo $this->renderTotals(); ?> 
    </tbody> 
</table> 

がどのように私は自分の計算を得ることができます/アプリ/設計/フロントエンド/デフォルト/ gutlauf /テンプレート/チェックアウト/カート/ totals.phtmlに問題がありますか? 私は

/app/design/frontend/default/gutlauf/template/tax/checkout/grandtotal.phtml例えばブロック

税/ checkout_grandtotal 税/ checkout_subtotal 税/ checkout_tax

ことを考え出しました私はアプリケーション/コード/コア/メイジ/税/ブロック/チェ/見た

<?php echo $this->helper('checkout')->formatPrice($this->getTotal()->getValue()) ?> 

ソースコードファイルに従って「Mage_Tax_Block_Checkout_Grandtotal」の精神機能がある

ckout/Grandtotal.phpはいくつかの行をコメントアウトしました...しかし、何も変わっていません...

私も/アプリ/コードを見て/コア/メイジ/チェックアウト/ブロック/カート私はrenderTotal ...のforeachループを得ることの無いどこ解決策を見つけた/ Totals.php

私は

public function renderTotal($total, $area = null, $colspan = 1) 
{ 
    $code = $total->getCode(); 

    if ($total->getAs()) { 
     $code = $total->getAs(); 
    } 
    return $this->_getTotalRenderer($code) 
     ->setTotal($total) 
     ->setColspan($colspan) 
     ->setRenderingArea(is_null($area) ? -1 : $area) 
     ->toHtml(); 
} 
+0

解決方法を見つけましたか? – anasaitali

+0

あなたがやっていることはうまくいかないでしょう。ブロックレベルでの価格計算の操作は、モデル/データレイヤーと一致しません。管理者の[プロモーション] - > [ショッピングカート価格ルール]で、必要なものを達成できないかどうかを確認します。 –

答えて

2

でファイルを書き換える必要はありませをロードしないシンプルな製品を得るために

  $productIds = array(); 
      $productIds[] = $_item['product_id']; 

      $products = Mage::getModel('catalog/product')->getCollection() 
      ->addAttributeToSelect('gl_special') 
      ->addMinimalPrice() 
      ->addStoreFilter() 
      ->addIdFilter($productIds); 

      $product = $products->getItemById($_item['product_id']); 
      #print_r($product); 
      $bBerechnet = $product->getData('gl_special'); 


$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product); 

のようなものを使用したいアイテム。たとえば、あなたはあなたの小計の計算を変更する必要があり、カスタムモジュールを作成し、グローバルタグ内のコードの下に置くモジュールのconfig.xmlファイルの

 <sales> 
     <quote> 
      <totals> 
       <subtotal><class>modulename/sales_quote_address_total_subtotal</class></subtotal> 
      </totals> 
     </quote> 
    </sales> 

ので、あなたのモデルクラスはコピー

class Namespace_Modulename_Model_Quote_Address_Total_Subtotal extends Mage_Sales_Model_Quote_Address_Total_Subtotal { } 

以下のように見えます親クラスから_initItem()関数を呼び出し、作成したモデルの上に貼り付け、必要に応じて計算を変更します。

あなたのために役立つことを願っています!

関連する問題