これはjavascriptによって実行されます。js / varien / configureurable.jsのメソッドgetOptionLabelを変更する必要があります(これはMagento 1.5.1.0であり、使用しているバージョンによってマイレージが異なる場合があります)。
このメソッドは、適用されるオプションと価格差を受け取ります。さまざまなオプションの絶対価格だけを表示したい場合は、構成可能な製品の絶対基本値とオプションの絶対差を使用して、自分でそれらを計算する必要があります。
メソッドの最初の数行は次のようになります。
getOptionLabel: function(option, price){
var price = parseFloat(price);
オプションの絶対基本価格と絶対差が得られるように変更します。次に、それらを合計して、オプションの最終的な絶対価格を取得します。このような:
getOptionLabel: function(option, price){
var basePrice = parseFloat(this.config.basePrice);
// 'price' as passed is the RELATIVE DIFFERENCE. We won't use it.
// The ABSOLUTE DIFFERENCE is in option.price (and option.oldPrice)
var absoluteDifference = parseFloat(option.price);
var absoluteFinalPrice = basePrice + absoluteDifference;
// var price = parseFloat(price);
var price = absoluteFinalPrice;
次に、オプションの+記号と-記号を削除する必要があります。後で同じメソッドでthis.formatPriceを呼び出すときは、各呼び出しで2番目のパラメーターをfalseに変更するだけです。
if(price){
if (this.taxConfig.showBothPrices) {
str+= ' ' + this.formatPrice(excl, false) + ' (' + this.formatPrice(price, false) + ' ' + this.taxConfig.inclTaxTitle + ')';
} else {
str+= ' ' + this.formatPrice(price, false);
}
これに関するいくつかのメモ:
js / varien/product.jsに作成されているProduct.Configと呼ばれる別の同一のオブジェクトがあります。私の知る限り、これはjs / varien / configureurable.jsに置き換えられているため、まったく何もしません。
また、js / varien / configureurable.jsを変更するだけで、次にMagentoをアップグレードするときに、変更が失われる可能性があります。js / varien / my_configurable.jsなどの別のファイルを作成し、使用しているテーマの構成ファイル(product.xml)でそれを呼び出すことをお勧めします。