knockout.js 磁致2|将捆绑产品上的下拉列表值更改为自定义属性

y4ekin9u  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(108)

我们有带下拉选项的捆绑产品。默认情况下,捆绑产品的下拉选项包含“产品名称”和“价格”。例如:
价值1 =黑色衬衫尺寸M +$9.95”
价值2 =黑色衬衫尺寸L +$9.95”
我努力实现的目标:下拉选项中不应包含产品名称和价格,而应包含每个产品的产品属性“size”,示例:捆绑产品有一个下拉选项,而此选项包含同一件衬衫的不同尺码:
值1 =尺寸M”
值2 =尺寸L”
"我做了什么"
我重写了下面的代码块:\Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option.php
我修改了“getSelectionTitlePrice”函数,以获取size属性并删除产品名称和价格。
这是一个很好的例子。

结果:

在源代码中,结果如预期:下拉列表值仅包含每个产品的size属性。

问题:

前端仍然显示“产品名称”+“价格”。我假设这是由一些脚本覆盖输出造成的。不幸的是,我不熟悉JS / Knockout。
有人能给予我一个提示,如何抑制下拉值被覆盖?希望这是有意义的。
非常感谢你的帮助!

e0bqpujr

e0bqpujr1#

正在更新标题的js文件是

vendor/magento/module-bundle/view/base/web/js/price-bundle.js

功能:_applyOptionNodeFix
此函数使用js更新下拉选项。
您可以将其覆盖到主题文件:

app/design/theme/package/Magento_Bundle/web/js/price-bundle.js

并将函数$option.html(template(toTemplate));中的最后一行注解为//$option.html(template(toTemplate));
对于其他更改,您可以在文件/函数中进行操作。

相关问题