-
Notifications
You must be signed in to change notification settings - Fork 9.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
price-box.js triggers priceUpdated and reloadPrice events for every configurable product before clicking on a selection #39543
Comments
Hi @cptX. Thank you for your report.
Join Magento Community Engineering Slack and ask your questions in #github channel. |
Hi @engcom-Bravo. Thank you for working on this issue.
|
Hi @cptX, Thanks for your reporting and collaboration. We have tried to reproduce the issue in Latest 2.4-develop instance and we are not able to reproduce the issue.Kindly refer the attached video. Screen.Recording.2025-01-30.at.11.34.27.am.movpriceUpdated and reloadPrice events is triggered only when an option on a configurable product is selected. Kindly recheck the issue in Latest 2.4-develop instance and elaborate the steps to reproduce if the issue is still reproducible. Thanks. |
Hi @cptX, This issue is being closed since it has not been updated in a long time.Please feel free to reopen or raise a new ticket if the issue still exists. Thanks. |
Hi @engcom-Bravo I don't understand the point of your video! The meaning is to check the console log for how many times "test" is logged just by loading the page, not by clicking on options, but in your video you don't show the console logs and also you click on options. It is like you didn't understand the problem at all. Please read my description again and repeat the test. You will see that the console.log is called many times on every reload before clicking on options. |
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: