2012-03-23 62 views
0

我期待有更多優惠的忽略一些商店不同getFinalPrice,到目前爲止我已經通過添加額外的條件,改變/Catalog/Model/Product/Type/Price.php的Magento忽略特殊的價格爲某些商店/名錄,並查看

public static function calculateSpecialPrice($finalPrice, $specialPrice, $specialPriceFrom, $specialPriceTo, $store = null) 
{  
    if (!is_null($specialPrice) && $specialPrice != false && (extra conditions using store code)) { 
     if (Mage::app()->getLocale()->isStoreDateInInterval($store, $specialPriceFrom, $specialPriceTo)) { 
      $finalPrice  = min($finalPrice, $specialPrice); 
     } 
    } 
    return $finalPrice; 
} 

而且幾乎在任何地方都能正常工作然而在列表視圖,和搜索結果,在那裏我已經叫

$this->helper('core')->currency($_product->getFinalPrice(),true,true) 

這似乎是使用不同的方法,我不能追查 - 任何想法?

UPDATE: 的叫view.phtml頁面上同樣的方法可以正常工作,所以它是與所謂的每個頁面上的不同方法。

ALSO: 我知道我可以只使用比getFinalPrice其他東西上名單的,因爲它在車/件商品頁面的工作了,但我需要它不破之類的東西通過價格價格過濾排序和。

+0

你會發現這裏getFinalPrice方法: 'Mage_Bundle_Model_Product_Price :: getFinalPrice() Mage_Catalog_Helper_Product :: getFinalPrice()Mage_Catalog_Model_Product_Type_Configurable_Price :: getFinalPrice()Mage_Catalog_Model_Product_Type_Grouped_Price :: getFinalPrice()Mage_Catalog_Model_Product_Type_Price :: getFinalPrice()Mage_Catalog_Model_Product :: getFinalPrice () Mage_CatalogIndex_Model_Data_Abstract :: getFinalPrice()Mage_CatalogIndex_Model_Data_Grouped :: getFinalPrice()' – tecmec 2012-03-23 11:08:25

+0

感謝名單丹尼。我也通過文件搜索,我只是希望能有更多的'源頭'解決方案。 – 2012-03-23 12:23:52

回答

1

要在列表頁面上顯示價格,我也需要更改Mage/Catalog/Model/Product.php

public function getFinalPrice($qty=null) 
{ 

    if (same store code conditions) 
     $price = $this->_getData('final_price'); 
    else $price = $this->getPrice(); 
    if ($price !== null) { 
     return $price; 
    } 
    return $this->getPriceModel()->getFinalPrice($qty, $this); 
} 
+0

糟糕的主意。 'final_price'!='價格'。如果爲產品設置了「special_price」和「tier_price」,則會產生問題。 – Sergey 2012-03-23 14:31:04

+0

這個想法是'final_price!= price'。我特別想忽略特定商店的折扣價格。 – 2012-03-23 17:40:08