0

1.7 Magento でSimple Configurable Products 拡張機能 ( http://www.magentocommerce.com/magento-connect/simple-configurable-products.html ) を使用していますが、すべて正常に動作しているようです。私が変更したい唯一のことは、「価格から」の代わりにカテゴリページに価格帯を表示することです. 言い換えると:

これは、構成可能な製品について私が現在持っているものです。

価格: $[最も安い関連商品の価格]

これは私が示したいものです:

$[最も安い関連商品の価格] - $[最も高価な関連商品の価格]

コア ファイルの代わりにこの拡張機能を変更する方法を推奨できる場合は、さらに良い方法ですが、どのような解決策も大歓迎です。

PS: 私は Stack Overflow と Magento フォーラムでこれに関するスレッドをたくさん読みましたが、誰もこれに対する確固たる解決策にたどり着いたようには見えません。

4

1 に答える 1

2

これは私には面白そうに思えたので、試してみることにしました。


app/code/community/OrganicInternet/SimpleConfigurableProducts/Catalog/Product/Price.phpファイルを変更することで動作するようになりました
(健全性のために、code/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 を変更する必要があります。ビルトインの通貨フォーマット メソッドを使用できる可能性がありますが、多通貨ストアで作業したことがないため、よくわかりません。

実行してみて、問題があればお知らせください。

于 2013-05-25T07:22:27.477 に答える