Magento2: Magento 2.1.5 CE --> 2.1.6 CE - Old Prices do not show up any more

Created on 24 Apr 2017  路  30Comments  路  Source: magento/magento2

After upgrading from magento 2.1.5 to magento 2.1.6 old prices (crossed out) do not show up again:

  • on catalog grid view
  • on product detail page

We use configurable products.

Magento 2.1.6
PHP 7

Expectations was that both special and old regular prices would be shown.

Any ideas how to fix this? Thank you,

Chiemo

Preconditions

Magento 2.1.5, PHP 7
Create configurable products

Steps to Reproduce

Upgrade to Magento 2.1.6

Expected Result

Regular and special prices of products displayed correctly

Actual Result

Old prices do not show up anymore

ConfigurableProduct Confirmed P4 ready for dev Reproduced on 2.1.x Reproduced on 2.3.x S4

Most helpful comment


Preconditions


  1. Use Magento version 2.1.7
  2. Install demo data
  3. Give one of the products a special price

Steps to reproduce

  1. Visit the product view page and the category view page where the product with the special price is found

Expected result

  1. Like in Magento 1, I'd expect to see both the strikethrough price as the special price.

Actual result

  1. I only see the final price, the old price is hidden until I make a selection from the super attributes.


Showing an old price in combination with the special price is an incentive for customers to buy the product. You should show this combination as soon as possible, so in the list page and on the related product instances. If you only show it when a customer selects a super attribute, you are too late. The customer is in the process of buying already by then, so the function of incentive is lost. Please reinstate the visibility of the special price for configurable products everywhere they appear in the catalog.

This bug originated in https://github.com/magento/magento2/commit/10fc55ce7245cdca9721124eba67206313d22062
This commit states: MAGETWO-52925: Simple child product without a special price still shown as "was (original price)" #4442 #5097

The commit solves this problem but it introduces the new problem the the old price is hidden from configurable products that DO have a special price.

All 30 comments

I have the same issue...

Same issue. Looking for a fix.

@Chiemo thank you for your feedback.
Please, format this issue according to the Issue reporting guidelines: with steps to reproduce, actual result and expected result.

Same issue 2.1.7 version

Same here
2.1.7

Old price is not showing in configurable products...


Preconditions


  1. Use Magento version 2.1.7
  2. Install demo data
  3. Give one of the products a special price

Steps to reproduce

  1. Visit the product view page and the category view page where the product with the special price is found

Expected result

  1. Like in Magento 1, I'd expect to see both the strikethrough price as the special price.

Actual result

  1. I only see the final price, the old price is hidden until I make a selection from the super attributes.


Showing an old price in combination with the special price is an incentive for customers to buy the product. You should show this combination as soon as possible, so in the list page and on the related product instances. If you only show it when a customer selects a super attribute, you are too late. The customer is in the process of buying already by then, so the function of incentive is lost. Please reinstate the visibility of the special price for configurable products everywhere they appear in the catalog.

This bug originated in https://github.com/magento/magento2/commit/10fc55ce7245cdca9721124eba67206313d22062
This commit states: MAGETWO-52925: Simple child product without a special price still shown as "was (original price)" #4442 #5097

The commit solves this problem but it introduces the new problem the the old price is hidden from configurable products that DO have a special price.

@veloraven please let me know if you need more info.

Would love to see a fix for this.
Not all the simple products attached to my configurable products are discounted with a special price, so when a customer only sees the special price on catalog pages, they assume it's for all colors, then they are disappointed and complain it was false advertising when they click on the non-discounted colors on the product detail page.

@MaierWerx in catalog an approach of "10-15" would be better for all cases
In case all prices are equal for all variants a strike through price and sales price is a must
check my web site
https://tuttafantasia.com/new.html

For you could be the same but a variant of prices striked through and the sales price as well.

@drpit Yes, I agree with you.

What version of Magento 2 are you using? You have the strike through, but I lost that after upgrading beyond 2.1.5.

@MaierWerx I use 2.1.7 but I have customized the pricing page

I think i got the solution.
It may be not an elegant one but:

In /app/code/Magento/Catalog/Pricing/Render/FinalPriceBox.php there is this function:
public function isProductList()
{
$isProductList = $this->getData('is_product_list');
return $isProductList === true;
}

that loads the cache with a flag.
If you force this allways to false, like this:

public function isProductList()
{
    //note: temporary fix.
    return false:
    //end note
    $isProductList = $this->getData('is_product_list');
    return $isProductList === true;
}

The old price will show in the catalog view page and in the product view page.

Is the solution that worked for me, at least till the official fix.

Hope it helps.

Thank you, @LeonhartX7. Would be nice to get this fix into 2.1.8.

Hi ,

I use this solution for my web site
https://github.com/magento/magento2/issues/7624

@Chiemo, thank you for your report.
We've created internal ticket(s) MAGETWO-71236, MAGETWO-71202 to track progress on the issue.

A frontend fix

Check on this and Overwrite the template in your theme.
vendor/magento/module-configurable-product/view/base/templates/product/price/final_price.phtml
line 22
<?php if (!$block->isProductList() && $block->hasSpecialPrice()): ?>

this statement makes the old price hidden category page.

just change to the following to make it show category page
<?php if ($block->hasSpecialPrice()): ?>

and in line 32 remove class 'no-display'
<span class="old-price sly-old-price no-display">

experiencing same issue in magento 2.2.2.
Only special price is showing
Clean installation
Custom theme
Configurable products

I'm so confused.. if the "fix" is to remove !$block->isProductList(), why would it be there in the first place? Why does Magento not want to output the old price in product listings? And why was it working fine before Magento 2.1.6? Is there any harm in removing it, or is that a temporary fix? It seems it's quite explicit to me that Magento doesn't want the old price to be outputted, so the "temporary" fix looks pretty permanent to me..

@erfanimani this is not "fix". This will have impact to performance depending on the amount of each child-product in Configurable as this will load in all children for Configurables what will be rendered.

Thanks for clarifying! That makes sense.

Same issue with 2.2.2, and magento team is not able to solve it??

They do not know that products on-sale is the top selling on any eCommerce platform? stupid issue with very high impact, disappointed

Facing the same issue version 2.2.0.

Unfortunately, fix for this issue requires in-depth refactoring of the underlying indexers. Simply loading products and calculating prices on-the-fly can introduce significant performance degradation, especially for stores with large catalogs.

Performance team is currently in the process of investigating and designing an optimal solution which would cover more cases than this single problem.

We are going to update this ticket as soon as this work is done.

Thanks.

If it is since 2.1.5 this issue did not addressed by Magento team and now they released 2.2.3?!
we can expect solving this issue on 2.9 version !!

my sales goes down because of this issue, it is basic, how they forget about it i'm not able to understand.

moving out.

Has there been any updates on this issue? All of the "work around" don't work in my situation. It's frustrating that I can't have sales show up properly.

Any updates?

Hi @engcom-backlog-andrii. Thank you for working on this issue.
Looks like this issue is already verified and confirmed. But if your want to validate it one more time, please, go though the following instruction:

  • [ ] 1. Add/Edit Component: XXXXX label(s) to the ticket, indicating the components it may be related to.
  • [ ] 2. Verify that the issue is reproducible on 2.3-develop branch

    Details- Add the comment @magento-engcom-team give me 2.3-develop instance to deploy test instance on Magento infrastructure.
    - If the issue is reproducible on 2.3-develop branch, please, add the label Reproduced on 2.3.x.
    - If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and _stop verification process here_!

  • [ ] 3. Verify that the issue is reproducible on 2.2-develop branch.

    Details- Add the comment @magento-engcom-team give me 2.2-develop instance to deploy test instance on Magento infrastructure.
    - If the issue is reproducible on 2.2-develop branch, please add the label Reproduced on 2.2.x

  • [ ] 4. If the issue is not relevant or is not reproducible any more, feel free to close it.

@juandosil, it won't be fixed. I guess the best option is to upgrade to 2.2.x or 2.1.16.
@Chiemo, thank you for reporting this issue, but we are going to close it because only security fixes will be supported for 2.1.x in the nearest future.

Hi @engcom-backlog-tomash,

People said earlier that this issue still there on 2.2.x release line. Could you re-check if issue still there in 2.2.x and 2.3.x release lines?

@ihor-sviziev based on the provided information internal ticket MAGETWO-71202 was created and MAGETWO-71236 got status "Won't Fix".

Was this page helpful?
0 / 5 - 0 ratings