製品のカスタムYes/No属性を作成しました。これは、VATを含む、または含まない、または単に含む(私のデフォルト)製品の価格を表示するかどうかを決定します。これはMagentoで可能ですが、特定の製品では不可能です。以下を変更して両方の価格を表示するには、price.phtmlファイルをハックする必要がありました。
<?php if ($_taxHelper->displayBothPrices()): ?>
に:
<?php if ($_taxHelper->displayBothPrices() || $_product->getData('show_both_prices')): ?>
これで、両方の形式を表示するようにフォーマットされた価格が表示されます。すなわち
除く 税金:£856.80
含む 税金:£856.80
ただし、両方のVATを含む価格が表示されているため、実際には価格の計算が行われていないことがわかります。
私はこれを税務ヘルパー(app / code / Mage / Tax / Helper / Data.php)のコードの一部まで追跡しました
if ($percent != 0) {
$price = $this->getCalculator()->round($price); // price = 714
// price changes from the excl VAT to including VAT on line below.
$price = $this->_calculatePrice($price, $percent, true); // now 856.8
}
価格を変えているように見える機能です。trueではなくFALSEを渡そうとしましたが、どういうわけか特別価格の商品として扱われるようです:S
protected function _calculatePrice($price, $percent, $type)
{
if ($type) {
return $price * (1+($percent/100));
} else {
return $price/(1+$percent/100);
}
}
「両方の価格を表示」コードがどのように機能するかをどうにかして模倣する必要がありますが、これまでのところ、試したものはすべて機能していません。どんな助けでも大歓迎です!