显示可配置产品Magento的价格范围

时间:2013-04-26 15:06:44

标签: php magento magento-1.7

我在我的1.7 Magento上使用简单可配置产品扩展(http://www.magentocommerce.com/magento-connect/simple-configurable-products.html),一切似乎都运行正常。我唯一想改变的是在类别页面上显示价格范围而不是“价格来自”。换句话说:

这就是我现在对可配置产品的看法:

价格来自:$ [最便宜的相关产品的价格]

这就是我想要展示的内容:

$ [最便宜的相关产品的价格] - $ [最昂贵的相关产品的价格]

如果您可以推荐如何修改此扩展名而不是核心文件,那么它会更好,但任何解决方案都将非常受欢迎。

P.S。:我已经在Stack Overflow和Magento论坛上阅读了大量关于此问题的帖子,但似乎并没有人为此找到一个可靠的解决方案。

1 个答案:

答案 0 :(得分:2)

这对我来说很有趣,所以我决定尝试一下。

我通过修改文件来实现它:
应用程序/代码/社区/ OrganicInternet / SimpleConfigurableProducts /目录/产品/ Price.php
(为了理智,将其复制到代码/ local / ...目录树; D)

由于您不想要实际的“Price From:”文本,您可以注释掉这些行:

if ($product->getMaxPossibleFinalPrice() != $product->getFinalPrice()) {
    $extraHtml .= $this->__('Price From:');
}


现在这里有趣的地方。我基本上通过改变这一行来复制他们自己的插入方法:

return substr_replace($priceHtml, $extraHtml, strpos($priceHtml, $htmlToInsertAfter)+strlen($htmlToInsertAfter),0);

进入以下几行:

$finalHtml = substr_replace($priceHtml, $extraHtml, strpos($priceHtml, $htmlToInsertAfter)+strlen($htmlToInsertAfter),0);

if ($product->getMaxPossibleFinalPrice() != $product->getFinalPrice()) {

    $finalPriceHtml = ' - $' . strval(number_format($product->getMaxPossibleFinalPrice(),2,'.',','));
    $finalPriceInsertAfter = strval(number_format($product->getFinalPrice(),2,'.',','));

    $finalHtml = substr_replace($finalHtml, $finalPriceHtml, strpos($finalHtml, $finalPriceInsertAfter)+strlen($finalPriceInsertAfter),0);
}
return $finalHtml;

基本上复制其插入配置价格标签的原始方法,但这次在默认价格后插入最高价格。它不会真正适用于多货币商店,但您必须抓住商店货币运营商并根据使用的货币更改number_format。您可能可以使用内置的货币格式方法,但我不熟悉它,因为我没有在多货币商店工作。

试一试,如果您有任何问题,请告诉我。