Skip to content

price-box.js triggers priceUpdated and reloadPrice events for every configurable product before clicking on a selection #39543

Open
@cptX

Description

Preconditions and environment

  • Magento version 2.4.7-p3

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); or alert(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

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

Metadata

Assignees

Labels

Reported on 2.4.7-p3Indicates original Magento version for the Issue report.

Type

No type

Projects

  • Status

    Ready for Confirmation

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions