我添加了一个由两个属性计算并使用自己的计算价格的产品。 问题是我不得不重写大计和小计计算...例如覆盖这些东西。
我希望@stackoverflow是一位解决了我的问题的magento大师: - )
我更改了/ app / design / frontend / default / gutlauf / template / checkout / cart / item / default.phtml ,其中已完成购物车项目的布局。
但现在我遇到了/app/design/frontend/default/gutlauf/template/checkout/cart/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”的心理
我看了/app/code/core/Mage/Tax/Block/Checkout/Grandtotal.php评论了一些内容......但没有改变......
我希望有人可以向我解释购物车计算在哪里“隐藏”,我需要一个构建总数的foreach。
我还查看了/app/code/core/Mage/Checkout/Block/Cart/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 :(得分: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()函数并粘贴在上面创建的模型上,并根据需要更改计算。
希望它对你有用!!