Php Magento:显示单个产品的包含和不包含增值税的价格

Php Magento:显示单个产品的包含和不包含增值税的价格,php,magento,Php,Magento,我已经为产品创建了一个自定义“是/否”属性,该属性将决定是否显示产品价格(包括和不包括增值税)或仅包括(我的默认值)。这在Magento中是可能的,但不适用于特定产品。我不得不绕过price.phtml文件,通过更改以下内容来显示这两种价格: <?php if ($_taxHelper->displayBothPrices()): ?> 这就是似乎正在改变价格的功能。试着用FALSE代替true,但不知何故,它似乎被视为特价产品:S protected function _c

我已经为产品创建了一个自定义“是/否”属性,该属性将决定是否显示产品价格(包括和不包括增值税)或仅包括(我的默认值)。这在Magento中是可能的,但不适用于特定产品。我不得不绕过price.phtml文件,通过更改以下内容来显示这两种价格:

<?php if ($_taxHelper->displayBothPrices()): ?>
这就是似乎正在改变价格的功能。试着用FALSE代替true,但不知何故,它似乎被视为特价产品:S

protected function _calculatePrice($price, $percent, $type)
{
    if ($type) {
        return $price * (1+($percent/100));
    } else {
        return $price/(1+$percent/100);
    }
}

我需要以某种方式模仿“显示两种价格”代码的工作方式,到目前为止,我尝试过的任何东西都不起作用。非常感谢您的帮助

我会避免过多地讨论价格代码呈现块,因为了解那里发生了什么很复杂

您可以通过系统->配置->税务->价格显示设置,将前端设置为显示价格-两者都显示

现在你可以看看你的价格是否正确。如果没有,请检查您的税务/增值税设置和税率

解决了这个问题后,您可以尝试另一种方法来选择性地显示/隐藏inc/ex选项。如果您有选择地将一个类添加到类别列表和产品页面中,那么这可以在CSS中完成。在列表/视图页面中,在li标记类的位置放置如下内容:

如果($\u item->getwhater()==1)回显“whater”

然后在css中:

.不含税价格{显示:无;}


根据您的属性使用该类。当然,您只是隐藏了增值税价格,但我怀疑是否有人会注意到。

我会避免过多地涉及价格代码呈现块,因为要了解那里发生了什么很复杂

您可以通过系统->配置->税务->价格显示设置,将前端设置为显示价格-两者都显示

现在你可以看看你的价格是否正确。如果没有,请检查您的税务/增值税设置和税率

解决了这个问题后,您可以尝试另一种方法来选择性地显示/隐藏inc/ex选项。如果您有选择地将一个类添加到类别列表和产品页面中,那么这可以在CSS中完成。在列表/视图页面中,在li标记类的位置放置如下内容:

如果($\u item->getwhater()==1)回显“whater”

然后在css中:

.不含税价格{显示:无;}


根据您的属性使用该类。当然,您只是隐藏了增值税价格,但我怀疑是否有人会注意到。

为什么我不添加一个类并从一开始就隐藏价格!?谢谢,更简单的解决方案,黑客周围的价格文件!显示含增值税和不含增值税的价格实际上会触发Magento中的舍入错误。如果您使用的是Magento CE 1.9,则以这种方式配置存储时会看到警告。更多信息可以在这里找到:为什么我不只是添加一个类并从一开始就隐藏价格!?谢谢,更简单的解决方案,黑客周围的价格文件!显示含增值税和不含增值税的价格实际上会触发Magento中的舍入错误。如果您使用的是Magento CE 1.9,则以这种方式配置存储时会看到警告。更多信息可在此处找到:
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
}
protected function _calculatePrice($price, $percent, $type)
{
    if ($type) {
        return $price * (1+($percent/100));
    } else {
        return $price/(1+$percent/100);
    }
}