我有一个使用以下内容调用的产品集(设置为显示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
中答案 0 :(得分:3)
请参阅Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::addTaxPercents
此外,getLoadedProductCollection
调用(通过目录层)addMinimalPrice
和addFinalPrice
方法。从这些文档中您可以看到有添加分层定价和URL重写的方法。很高兴知道。