2011-06-30 50 views
5

我已經添加了一個由兩個屬性計算的產品,並使用自己的計算價格。 問題是,我不得不重寫總計和小計計算...例如覆蓋的東西。Magento如何獲取/更改/覆蓋totals.phtml計算?

我希望這裏@stackoverflow是已經解決了我的問題:-)

我改變了/應用程序/設計/前端/默認/ gutlauf /模板/結帳/車/項目/ 默認Magento的大師.html購物車項目的佈局完成。

,但現在我有/應用程序/設計/前端/默認/ gutlauf /模板/結帳/車/ totals.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> 

我要怎樣才能讓自己的計算有問題? 我想出這些塊

稅/ checkout_grandtotal 稅/ checkout_subtotal 稅/ checkout_tax

例如/app/design/frontend/default/gutlauf/template/tax/checkout/grandtotal.phtml

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

根據源代碼文件有「Mage_Tax_Block_Checkout_Grandtotal」

我看着/應用程序/代碼/核心/法師/稅/塊/ CHE的心理狀態ckout/Grandtotal.php評論了一些行...但沒有任何變化...

我希望有人能夠向我解釋購物車計算是「隱藏」的地方,我需要一個foreach來構建總計。

我也看了/應用/代碼/核心/法師/結帳/塊/車/ Totals.php

我發現renderTotal ...得到的foreach循環的無無處解決方案項目,在這裏我想用類似

  $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); 

讓我與

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

你如何做它不會奏效。操作塊級別的價格計算與模型/數據層不一致。轉到管理員,在促銷 - >購物車價格規則下,看看你是否無法達到你所需要的。 – 2015-05-13 02:03:06

回答

2

加載無需重寫該文件的簡單產品。例如,您需要更改分類彙總,然後創建自定義模塊的計算,並把下面的代碼全球標籤內模塊的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()函數從父類中粘貼上面創建的模型並根據需要更改計算。

希望它對你有用!