Dodałem produkt, który jest obliczany przez dwa atrybuty i wykorzystuje własną cenę obliczeniową. Problem polega na tym, że musiałem przerobić obliczenia grandtotal i subtotal ... na przykład z nadpisaniem danych.Magento howto pobrać/zmienić/zastąpić obliczenia totals.phtml?
mam nadzieję, że tu @stackoverflow jest guru Magento, który rozwiązał mój problem :-)
miałem zmienił/app/design/frontend/default/gutlauf/template/checkout/koszyk/item/domyślne .phtml gdzie układ elementów koszyka jest wykonywany.
ale teraz mam problem z/app/design/frontend/default/gutlauf/template/checkout/koszyk/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>
jak mogę dostać mój własny kalkulacja? i zorientowali się, że bloki
podatkowy/checkout_grandtotal podatkowy/checkout_subtotal podatkowy/checkout_tax
np /app/design/frontend/default/gutlauf/template/tax/checkout/grandtotal.phtml
<?php echo $this->helper('checkout')->formatPrice($this->getTotal()->getValue()) ?>
według pliku z kodem źródłowym jest żania "Mage_Tax_Block_Checkout_Grandtotal"
Spojrzałem w/app/code/core/Mage/podatku/block/Che ckout/Grandtotal.php skomentował kilka linijek ... ale nic się nie zmieniło ...
Mam nadzieję, że ktoś mógłby mi wytłumaczyć, gdzie kalkulacja koszyka jest "ukryta", potrzebuję foreach, gdzie sumy są budowane.
ja również spojrzał/app/code/core/Mage/Zamówienie/pustak/Koszyk/Totals.php
znalazłem renderTotal ... nigdzie nie rozwiązanie coraz pętli foreach z następujących przedmioty, gdzie chcę użyć coś jak
$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);
aby uzyskać proste produkty, które załadować z
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();
}
Czy znalazłeś rozwiązanie problemu? – anasaitali
Sposób, w jaki to robisz, nie zadziała. Manipulowanie kalkulacją ceny na poziomie bloku nie będzie spójne z warstwą model/dane.Przejdź do administratora, w sekcji Promocje -> Reguły cenowe koszyka zakupów i sprawdź, czy nie możesz osiągnąć tego, czego potrzebujesz. –