Tôi muốn thêm một số tiền vào tổng Grand trong Magento. Vì vậy, trong trang thanh toán, phần đánh giá đơn hàng sẽ như thế này:
Phụ phí này sẽ phụ thuộc vào một số điều kiện.
Câu hỏi của tôi là: Làm thế nào tôi có thể thay đổi tổng số lớn trong trang thanh toán? Đối với điều này, những gì tôi đã làm là: Tôi tạo ra một mô-đun. Vui lòng xem mã của tôi:
ứng dụng / mã / cục bộ / Locwiseship / Customprice / etc / config.xml
<?xml version="1.0"?>
<config>
<modules>
<Locwiseship_Customprice>
<version>1.0.10</version>
</Locwiseship_Customprice>
</modules>
<global>
<events>
<!-- Création éventuelle du lien de parrainage lors de la commande -->
<sales_quote_collect_totals_after>
<observers>
<set_custom_price_locwiseship>
<type>singleton</type>
<class>Locwiseship_Customprice_Model_Sales_Quote_Address_Total_Mytotal</class>
<method>collect</method>
<method>fetch</method>
</set_custom_price_locwiseship>
</observers>
</sales_quote_collect_totals_after>
</events>
</global>
</config>
ứng dụng / mã / cục bộ / Locwiseship / Customprice / Model / Observer.php
<?php
/**
* @category Locwiseship
* @package Locwiseship_Customprice
*/
class Locwiseship_Customprice_Model_Sales_Quote_Address_Total_Mytotal
extends Mage_Sales_Model_Quote_Address_Total_Abstract
{
public function __construct()
{
$this->setCode('mytotal');
}
public function collect(Mage_Sales_Model_Quote_Address $address)
{
parent::collect($address);
foreach ($this->_getAddressItems($address) as $item) {
// These two lines represent whatever logic you're
// using to calculate these amounts
$baseAmt = 10;
$amt = 10;
// Set the item's total
$item->setBaseMytotalAmount($baseAmt);
$item->setMytotalAmount($amt);
// These methods automatically take care of summing
// "mytotal_amount" on the quote address
$this->_addBaseAmount($baseAmt);
$this->_addAmount($amt);
}
return $this;
}
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
// Naturally, this exists on the quote address because "collect" ran already
$amt = $address->getMytotalAmount();
if ($amt != 0) {
$address->addTotal(array(
'code' => $this->getCode(),
'title' => Mage::helper('Locwiseship_Customprice')->__('My Total'),
'value' => $amt
));
}
return $this;
}
}
ứng dụng / etc / mô-đun / Locwiseship_Customprice.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Locwiseship_Customprice>
<active>true</active>
<codePool>local</codePool>
</Locwiseship_Customprice>
</modules>
</config>
Người Thái là mã của tôi. Nhưng không có gì xảy ra .. Điều này không hiệu quả .. Đây có phải là cách tiếp cận chính xác? Làm thế nào tôi có thể làm cho điều này làm việc? Xin hãy giúp tôi .. Tôi đang sử dụng Magento 1.9.0.1