Attributes Magento 2-如何在下拉列表中显示产品价格选择选项

Attributes Magento 2-如何在下拉列表中显示产品价格选择选项,attributes,product,magento2,configurable-product,price,Attributes,Product,Magento2,Configurable Product,Price,我想在下拉列表中显示与magento 1.X中相同的可配置产品(选择一个选项)的产品差价,感谢所有 这是Magento 2中的一个 用于picklist的JavaScript数组是在类中的方法getJsonConfig()中生成的 app/code/Magento/ConfigurableProduct/Block/Product/View/Type/Configurable.php 在这里,您可以看到添加到$config的两个数组:属性和选项价格。 属性似乎包含用于下拉列表的标签。 opti

我想在下拉列表中显示与magento 1.X中相同的可配置产品(选择一个选项)的产品差价,感谢所有

这是Magento 2中的一个

用于picklist的JavaScript数组是在类中的方法
getJsonConfig()
中生成的

app/code/Magento/ConfigurableProduct/Block/Product/View/Type/Configurable.php
在这里,您可以看到添加到
$config
的两个数组:
属性
选项价格
属性
似乎包含用于下拉列表的标签。
optionPrices
包含客户选择不同选项(关联不同价格)后用于刷新价格的价格

这将使在下拉列表中显示价差变得非常困难,因为价差值需要在JavaScript中计算

一个相对容易实现的解决方案是这样的,但这将显示每个选项的最终价格,而不是价格差异:

  • 创建在执行
    getJsonConfig
    后触发的Magento 2插件模块:
    afterGetJsonConfig()
  • 然后在
    getJsonConfig()
    之后使用
    中的
    getJsonConfig
    的输出:
    $config
    ,此数组包含
    属性
    价格选项
    数组等
  • 第一个jsondecode
    $config
  • 然后遍历属性数组以确定可用选项
  • 对于每个选项,在
    priceOptions
    数组中查找匹配的价格
  • 通过将价格(格式正确)连接到现有标签,更新属性数组中的每个选项标签
  • jsonecode
    $config
  • 返回
    $config
这是Magento 2中的一个

用于picklist的JavaScript数组是在类中的方法
getJsonConfig()
中生成的

app/code/Magento/ConfigurableProduct/Block/Product/View/Type/Configurable.php
在这里,您可以看到添加到
$config
的两个数组:
属性
选项价格
属性
似乎包含用于下拉列表的标签。
optionPrices
包含客户选择不同选项(关联不同价格)后用于刷新价格的价格

这将使在下拉列表中显示价差变得非常困难,因为价差值需要在JavaScript中计算

一个相对容易实现的解决方案是这样的,但这将显示每个选项的最终价格,而不是价格差异:

  • 创建在执行
    getJsonConfig
    后触发的Magento 2插件模块:
    afterGetJsonConfig()
  • 然后在
    getJsonConfig()
    之后使用
    中的
    getJsonConfig
    的输出:
    $config
    ,此数组包含
    属性
    价格选项
    数组等
  • 第一个jsondecode
    $config
  • 然后遍历属性数组以确定可用选项
  • 对于每个选项,在
    priceOptions
    数组中查找匹配的价格
  • 通过将价格(格式正确)连接到现有标签,更新属性数组中的每个选项标签
  • jsonecode
    $config
  • 返回
    $config