gpt4 book ai didi

magento - 将差价替换为实际价格

转载 作者:行者123 更新时间:2023-12-03 01:16:13 24 4
gpt4 key购买 nike

我有一个可配置的产品,有 3 个选项,如下所示:

enter image description here

我想将 +£24.00 和 +£75.00 替换为产品的实际价格。

所以它会说:£69.00 和 £120.00

我已在 js/varien/product.js 中找到代码

我花了一些时间来修改和更改代码,但无法完全理解需要更改的内容。该文件中的第 240 行向下处理可配置产品的 JavaScript 事件。

最佳答案

这是由 JavaScript 执行的。您需要修改 js/varien/configurable.js 中的 getOptionLabel 方法(这是 Magento 1.5.1.0,您的里程可能会根据您使用的版本而有所不同)。

此方法接收要应用的期权和差价。如果您只想显示不同选项的绝对价格,则需要使用可配置产品的绝对基值和选项的绝对差值自行计算。

该方法的前几行如下所示:

getOptionLabel: function(option, price){
var price = parseFloat(price);

更改它,以便您获得绝对基本价格和期权的绝对差价。然后将它们加在一起即可得到期权的最终绝对价格。像这样:

getOptionLabel: function(option, price){
var basePrice = parseFloat(this.config.basePrice);
// 'price' as passed is the RELATIVE DIFFERENCE. We won't use it.
// The ABSOLUTE DIFFERENCE is in option.price (and option.oldPrice)
var absoluteDifference = parseFloat(option.price);
var absoluteFinalPrice = basePrice + absoluteDifference;
// var price = parseFloat(price);
var price = absoluteFinalPrice;

然后你需要去掉选项中的+和-符号。稍后在同一方法中,当您调用 this.formatPrice 时,只需在每次调用中将第二个参数更改为 false 即可。

    if(price){
if (this.taxConfig.showBothPrices) {
str+= ' ' + this.formatPrice(excl, false) + ' (' + this.formatPrice(price, false) + ' ' + this.taxConfig.inclTaxTitle + ')';
} else {
str+= ' ' + this.formatPrice(price, false);
}

关于此的更多注意事项:

您会发现在 js/varien/product.js 中创建了另一个名为 Product.Config 的相同对象。据我所知,这绝对没有任何作用,因为它被 js/varien/configurable.js 取代。

此外,如果只更改 js/varien/configurable.js,下次升级 Magento 时,您可能会丢失所做的更改。最好创建另一个文件,例如 js/varien/my_configurable.js 或其他文件,并在配置文件 (product.xml) 中为您使用的任何主题调用它。

关于magento - 将差价替换为实际价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com