管理者からも管理可能なパーセンテージに基づいて送料を計算したかった。
例:-送料[ADMIN]:10
小計=100の場合。
送料=10。
よろしくお願いします。
3235 次
1 に答える
4
ああ、答えを得た。app / code / core / Mage / Shipping / Model / Carrier/Flatrate.phpから-> local/ Mage / Shipping / Model
/ Carrier / Flatrate.phpへの
ファイルコピー
96行目については、それに応じて編集します。
if ($request->getFreeShipping() === true || $request->getPackageQty() == $this->getFreeBoxes()) {
$shippingPrice = '0.00';
}
//code starts here
if ($this->getConfigData('shipper_type') == 'P')
{
$session = Mage::getSingleton('checkout/session');
$quote_id = $session->getQuoteId();
$item_quote = Mage::getModel('sales/quote')->load($quote_id);
$shippingPrice = $item_quote->getSubtotal()*($this->getConfigData('price')/100);
//code ends here
}
$method->setPrice($shippingPrice);
$method->setCost($shippingPrice);
app / code / core / Mage / Shipping / etc/system.xmlにあります
。【行について:181】
<shipper_type translate="label">
<label>Calculate Shipping Fee</label>
<frontend_type>select</frontend_type>
<source_model>shipping/source_shipperType</source_model>
<sort_order>4</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</shipper_type>
app / code / core / mage / Shipping / Model / Source/ShipperType.phpで作成
class Mage_Shipping_Model_Source_ShipperType
{
public function toOptionArray()
{
return array(
array('value' => Mage_Shipping_Model_Carrier_Abstract::HANDLING_TYPE_FIXED, 'label' => Mage::helper('shipping')->__('Fixed')),
array('value' => Mage_Shipping_Model_Carrier_Abstract::HANDLING_TYPE_PERCENT, 'label' => Mage::helper('shipping')->__('Percent')),
);
}
}
これが誰かに役立つことを願っています。
于 2013-02-18T10:11:55.650 に答える