price-box.js triggers priceUpdated and reloadPrice events for every configurable product before clicking on a selection #39543
Labels
Reported on 2.4.7-p3
Indicates original Magento version for the Issue report.
Preconditions and environment
vendor/magento/module-catalog/view/base/web/js/price-box.js triggers priceUpdated and reloadPrice events for every configurable product on every page (product page, catalog page, carousels etc) before clicking on any selection. For example you visit a catalog page with 12 configurable products, these events will be triggered for all 12 products during page load before even clicking on one of them.
This of course introduces a huge overload on the CPU, a delay on page finalizing and a bad experience and ranking...
Why is this happening? I have studied a bit the code and I think the whole code point is to refresh the product price field in case the user selects an option on the configuration product. Why should we have price refreshes before even clicking on any option?
Steps to reproduce
Go to file vendor/magento/module-catalog/view/base/web/js/price-box.js and add the line
console.log(test);
oralert(test);
after the line
reloadPrice: function reDrawPrices() {
Then, try to load a page that includes configurable products.
You will see how many times the function will be called before even clicking on any option of a configurable product.
Expected result
priceUpdated and reloadPrice events should be triggered only when an option on a configurable product is selected.
Actual result
priceUpdated and reloadPrice events are now triggered in advance in every page load for every configurable product that is included in the page.
Additional information
No response
Release note
No response
Triage and priority
The text was updated successfully, but these errors were encountered: