1

I have major problem with my magento 1.9 website

  1. Special prices are being shown in a front page despite it expired.
  2. I googled the problem.
  3. I reindexed data.
  4. I cleared cache.
  5. I removed special dates and prices via import.
  6. I checked products in inventory - they do not have special dates or prices.
  7. IT IS STILL SHOWING them in FRONT PAGE.
  8. In result I have phone calls from pissed customers...

Please, if anyone experienced the same and have solution, kindly share.

3
  • check any catalog price rules under Promotions are activated ? Commented Aug 24, 2016 at 7:51
  • this is not correct solution, but if you want immediate solution, you can hide special prices using css. Commented Aug 24, 2016 at 7:55
  • what i saw from your site, special prices are displaying in home page but in product page, right ? Commented Aug 24, 2016 at 7:58

4 Answers 4

2

If special prices are only applied via "special price", "special price from date" and "special price to date" attributes, make sure that you did not override the attributes per store view. Also, as you already know, reindexing the price index and clearing the cache is necessary to see changes immediately.

If special prices are applied via promotional catalog price rules, make sure that the cronjob is running which updates special prices from catalog price rules nightly.

Another possible source of special prices are customer group prices (configured for each product as well).

0

If you have no strat date and end date for special price then in that case special price show always.

So make sure you have valid start date and end date for special price to expire special price.

Hope this will help you

0

SQL Query to check special price and dates in bulk.

SELECT e.entity_id, e.sku,pd.store_id,pd.value AS special_price, fd.value AS special_from_date, td.value AS special_to_date  FROM catalog_product_entity AS e
INNER JOIN catalog_product_entity_decimal AS pd ON e.entity_id = pd.entity_id
INNER JOIN eav_attribute AS a ON pd.attribute_id = a.attribute_id
LEFT JOIN catalog_product_entity_datetime fd ON fd.entity_id = e.entity_id AND fd.attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'special_from_date')
LEFT JOIN catalog_product_entity_datetime td ON td.entity_id = e.entity_id AND td.attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'special_to_date')
WHERE a.attribute_code="special_price"
0

I have updated the query.

SELECT e.entity_id
     , e.sku
     , pd.store_id
     , pd.value AS special_price
     , fd.value AS special_from_date
     , td.value AS special_to_date
FROM catalog_product_entity                    AS e
     INNER JOIN catalog_product_entity_decimal AS pd ON e.row_id = pd.row_id
     INNER JOIN eav_attribute                  AS a ON pd.attribute_id = a.attribute_id
     LEFT JOIN  catalog_product_entity_datetime   fd ON fd.row_id = e.row_id AND fd.attribute_id IN
                                                                                       (SELECT attribute_id
                                                                                        FROM eav_attribute
                                                                                        WHERE attribute_code = 'special_from_date')
     LEFT JOIN  catalog_product_entity_datetime   td ON td.row_id = e.row_id AND td.attribute_id IN
                                                                                       (SELECT attribute_id
                                                                                        FROM eav_attribute
                                                                                        WHERE attribute_code = 'special_to_date')
WHERE a.attribute_code = 'special_price';

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.