※(2013.03.13追記)基本的に2.11.5を想定して書いてましたが、2.12.1にバージョンアップしたテストのときに2.12.1についても一部追加。2.13以降はまだテストしてませんが、もし変更があったりテストすることがあれば後日追記します。

税込と税別の値段を同時に表示させる。
最初はテンプレートで
税別

[html]<!–{$arrProduct.price01_min|number_format}–>[/html]

税込

[html]
<!–{$arrProduct.price01_min|sfCalcIncTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}–>[/html]

というふうに変更するだけでよいと簡単に思っていました。

そう。規格のことを忘れていました。

詳細ページでは、規格を変更するとこの値段の部分が変更されます。

product.jsで制御しているようだったのですが、ここで扱っているのが「税込」の値段のみです。

最初は
product.jsの

[javascript]
$price02_dynamic.text(classcat2[‘price02’]).show();
[/javascript]

という部分で

[javascript]
$price02_dynamic.text("税込価格"+classcat2[‘price02’]+"円(税別価格:").show();
[/javascript]

なんて、一気に書いてしまって、税別も税込も同時に表示入れ替えをしようと思っていたのですが、
税別の価格を取ってこれていないことに気づきます。表示部分と同じ計算をさせたほうがよいので、javascript上で1.05で割るなんて恐ろしいことしたくないし。と、考えていて……。

このclasscat2[‘price02’]は、商品詳細ページのheader部分に埋め込まれている

[javascript]
<![CDATA[
classCategories =
[/javascript]

以下のデータを読み込んでいるようです。

このデータはどこで作られているかというと
data/class/SC_Product.php の L232あたり
function setProductsClassByProductIds
以下。

ここに
2.11.5まで

[php]
// 価格 税抜価格を表示させるために追加 start
$classCats2[‘price011’]
= strlen($productsClass[‘price01’])
? number_format($productsClass[‘price01’])
: ”;

$classCats2[‘price021’]
= strlen($productsClass[‘price02’])
? number_format($productsClass[‘price02’])
: ”;
//end
[/php]

2.12.1以降(追記:2014.03.13)

[php]
//  税抜価格を表示させるために追加 start
$arrClassCats2[‘price011’]
= strlen($arrProductsClass[‘price01’])
? number_format($arrProductsClass[‘price01’])
: ”;

$arrClassCats2[‘price021’]
= strlen($arrProductsClass[‘price02’])
? number_format($arrProductsClass[‘price02’])
: ”;
//end
[/php]

を追加します。

そして、product.js(html>jsの中の)を

[javascript]
// 販売価格
var $price02_default = $form.find(‘[id^=price02_default]’);
var $price02_dynamic = $form.find(‘[id^=price02_dynamic]’);
var $price021_default = $form.find(‘[id^=price021_default]’);//add 税抜
var $price021_dynamic = $form.find(‘[id^=price021_dynamic]’);//add 税抜
if (classcat2
&& typeof classcat2[‘price02’] != ‘undefined’
&& String(classcat2[‘price02’]).length >= 1) {

$price02_dynamic.text(classcat2[‘price02’]).show();
$price021_dynamic.text(classcat2[‘price021’]).show();//add 税抜
$price02_default.hide();
$price021_default.hide();//add 税抜(2013.03.13追記。addを入れるの忘れてた)
} else {
$price02_dynamic.hide();
$price02_default.show();
$price021_dynamic.hide();//add 税抜
$price021_default.show();//add 税抜
}
[/javascript]

という風に各種追加。とりあえず、販売価格だけ書いてますが、通常価格も必要なら同じように改造を・・・。

テンプレートの方を

[html]
<!–★販売価格★–>
価格:
<!–{strip}–>
 <strong>
<span id="price021_default"><!–{$arrProduct.price02_min|number_format}–></span><span id="price021_dynamic"></span>円</strong>
(税込価格:<span id="price02_default"><!–{$arrProduct.price02_min|sfCalcIncTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}–></span><span id="price02_dynamic"></span>円)
<!–{/strip}–>
[/html]

としました。