Scenario:
I have a configurable product with the price X (no special price).
One (or more but not all) of the simple products attached to the configurable products has a special price Y (lower than X).
In the product view page (works as desired):
- when the page loads I see the lowest price (Y in my case) along with regular price.
- when changing the configuration of the product and reaching a configuration that is not discounted I see only one price, the original one (X).
- changing the configuration to reach the discounted price product I see again, regular price and special price.
In the product list page (does not work as desired):
- when the page loads I see the minimal price of the configurable product (Y) but no regular price or "special price" label
- changing the product configuration to anything else, changes the price to the price of the configuration (X or Y).
Desired Result in the product list page:
1. when page loads, display the minimal price and the regular price (Regular price: X, Special Price: Y).
2. When the configuration changes show/hide the regular price and the special price label according to the selected options. Example: When selecting the configuration for the discounted price show both regular and special price (bonus: any other price type I add custom). When selecting a non-discounted configuration just show one price.
Additional Info:
I can achieve point 1 from the desired result by editing the final_price.phtml
template for configurable products and removing the condition !$block->isProductList()
.
But in this case, the special price label remains there no matter what configuration I choose.
Speculation:
Since the regular price is not shown in the product list (see the conditions mentioned above), it makes me thing that by design, not all prices are shown in the product list for configurable products.
Question:
Is there a reasonable way (not rewriting all the price display logic) to achieve point 2 in the desired result section?