0

製品のカスタム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);
    }
}

「両方の価格を表示」コードがどのように機能するかをどうにかして模倣する必要がありますが、これまでのところ、試したものはすべて機能していません。どんな助けでも大歓迎です!

4

1 に答える 1

4

そこで何が起こっているのかを理解するのは複雑なので、価格コードのレンダリングブロックに深く入り込むことは避けたいと思います。

システム->設定->税->価格表示設定を使用して、価格を表示するようにフロントエンドを設定できます(両方)。

これで、価格が正しく設定されているかどうかを確認できます。そうでない場合は、税金/付加価値税の設定と税率を確認してください。

これが解決したら、inc/exオプションを選択的に表示/非表示にする別のアプローチを試すことができます。これは、カテゴリリストと製品ページにクラスを選択的に追加する場合にCSSで実行できます。リスト/ビューページで、liタグクラスが次のようになります。

if($ _ item-> getWhatever()== 1)echo'whatever'

次に、cssで:

.whatever .price-except-tax {display:none;}

あなたの属性に応じてこのクラスで。確かにあなたは元VAT価格を隠しているだけです、しかし私は誰もが気付くことを気にしないだろうと思います。

于 2012-08-29T11:01:32.873 に答える