我有這個同樣的問題在上個星期。使用 - > setOriginalCustomPrice方法適用於單一貨幣網站,但是通過貨幣切換,其剛性意味着您需要每次更換貨幣時更新購物車項目和價格,這在我看來是非常低效的。
我想出了一個更優雅的解決方案。創建一個模塊,並在你的配置的模型部分添加這個;
<models>
<catalog>
<rewrite>
<product>PixieMedia_CustomPrice_Model_Product</product>
</rewrite>
</catalog>
</models>
與直覺相反,main - > getFinalPrice函數位於產品模型中,而不是價格模型。
現在/app/code/local/Namespace/Module/Model/Product.php創建新Product.php模型
class PixieMedia_CustomPrice_Model_Product extends Mage_Catalog_Model_Product {
public function getFinalPrice($qty=null)
// REWRITTEN FUNCTION TO RETURN THE SPECIAL PRICE AND ENSURE CURRENCY CONVERSION
{
$qBreak = false;
$customPrice = Mage::Helper('pixiemedia_customprice')->getCustomerPrice($this);
if($qty) {
$qBreak = $this->getQtyBreakPrice($this->getSku(),$qty,$customPrice[0]);
}
if($qBreak) { return $qBreak; } else { return $customPrice[0]; }
}
}
具體項目我工作,客戶端使用多個價格清單爲客戶具體定價,其範圍將使Magento的指數定價變得非常慢。所以我們將所有數據加載到自定義表中,並執行查找以返回客戶的正確價格或數量中斷。
這很容易勾住你自己的邏輯,並返回你想要的任何價格。這完全支持貨幣轉換,所以不需要重新轉換價格。
希望這可以幫助別人。享受:)
我在這裏有同樣的問題,你找到的任何解決方案? –
你好@Guillaume,我有同樣的問題。你有沒有找到解決辦法?請在這裏分享。 –