我正在使用 prestashop 制作一个 B2B 网站。因此,在客户组设置中,我设置了他们都看到不含增值税的价格,但我希望在我的产品页面中显示这两个价格。我知道
$product.price
根据客户组设置显示价格,$product.price_tax_exc
显示不含增值税的价格,但我正在寻找的是一种显示含增值税价格的方法,但我不知道如何去做它。
我的产品价格在product-add-to-cart.tpl 中调用。
我正在使用 prestashop 1.7.5.2 和 panda 主题。
这是我现在的代码:
{assign var=myURI value=$smarty.server.REQUEST_URI}
<span class="price_ht" {if $sttheme.google_rich_snippets} itemprop="price" content="{$product.price_amount}" {/if}>{$product.price_tax_exc|string_format:"%.2f"} {$currency.sign} {if $myURI|strstr:"/fr/"} HT {elseif $myURI|strstr:"/gb/"} "(VAT exc)" {/if}</span>
<span class="price" {if $sttheme.google_rich_snippets} itemprop="price" content="{$product.price_amount}" {/if}>{$product.price}{if $myURI|strstr:"/fr/"} TTC {elseif $myURI|strstr:"/gb/"} "(VAT inc)"{/if} </span>
但是我的两个价格都显示不含增值税的价格,因为变量 $product.price 根据客户组设置显示价格。
这是我正在尝试做的一个例子: https://www.stockresto.com/fr/trancheuse/755-trancheuse-o-195-mm-professionnelle-3611630006279.html
两个价格都显示在产品页面上,而且这个网站上的客户群设置和我的一样。
有人知道如何显示含增值税的价格吗?
在后台检查您编辑的产品,您会找到含增值税和不含增值税的具体价格。模板中的变量设置得很好
对于那些仍在等待此事回复的人,我在几个小时后找到了解决方案。
事实是,正如之前所说,当您想将 PrestaShop 设置为 B2B 电子商务平台时,显示所有不含税的价格非常有用。然而,ProductLazyArray 类用不含税的价格替换了price 和price_tax_exc 变量,导致我们不再拥有该信息。
我尝试了一些解决方案,包括功能:
$product->getPrice(false, $smarty.const.NULL)
。它对于 PrestaShop 1.7 不再有效,因为 ProductLazyArray 类没有该功能。{ convertPrice ... }
smarty 功能也无效,因为它已于 PrestaShop 1.6
停止使用。相反,您必须使用函数 Tools::displayPrice()
。检查
Product.php
类后,我发现有一个静态类可以获取给定 id_product
的价格,称为 getPriceStatic。为此,我将以下代码添加到我的 .tpl
文件中,它最终显示了含税价格。
{
Tools::displayPrice(Product::getPriceStatic($product.id_product))
}
希望对你有帮助!