Magento - 在自定义产品集合中使用getPriceHtml不会返回正确的税价

时间:2011-03-08 17:16:21

标签: magento

我有一个使用以下内容调用的产品集(设置为显示6个项目):

$_testproductCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->setPageSize(6);
$_testproductCollection->load();

然后我用foreach获得了6个产品的详细信息:

foreach($_testproductCollection as $_testproduct){ 
    echo "Price is ".$this->htmlEscape($this->getPriceHtml($_product, true))."<br/>"; 
};

这个工作正常,直到我设置我的商店以显示包含税的价格。而不是显示2个不同的价格,例如:

Excl. Tax: $138.56 
Incl. Tax: $149.99

它显示两者的价格相同。如果我在加载后立即再次添加对已加载产品集合的调用:

$_productCollection=$this->getLoadedProductCollection();

...它工作正常,价格是正确的,但它正在跳过 setPageSize 功能并返回完整的商店产品集合。

如何才能显示正确的税价, getLoadedProductCollection 中有哪些可以解决此问题?该功能在Mage / Catalog / Block / Product / List.php

1 个答案:

答案 0 :(得分:3)

请参阅Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::addTaxPercents

此外,getLoadedProductCollection调用(通过目录层)addMinimalPriceaddFinalPrice方法。从这些文档中您可以看到有添加分层定价和URL重写的方法。很高兴知道。