1

I am facing issue where price shown on list page is not same as shown on view page.

We usually update price via Magmi or using Wiser pricing tool. I am not sure why this thing happens, I usually run price indexer after updating prices.

Can this issue is because of Full Page Caching enabled? I use a third party FPC module for Full page caching.

I understood, that price are calculated on the fly on View page and for list page it is fetched from index tables. Can we calculate prices on fly for list page too?if yes, what are the drawbacks for doing this?

Thanks.

  • you could always try disabling the full page cache to see if this truly is the answer. then if this is the case contact the extension provider directly regarding support. – David Manners Jan 22 '15 at 12:25
2

your problem seems to be a caching issue - either FPC or collection data.

another problem might be with catalog rules not getting applied after the import.

calculating prices on the fly for categories will lead to slower loading times, plus complicated code when it's not necessary.

| improve this answer | |
  • I don't have any catalog rules implemented so far. Any idea, how can we check for cache issue? – Trimantra Software Solution Dec 3 '14 at 14:16
  • 2
    just disable caching and see if the problem persists. or refresh it, if disabling is not an option – Cristi Dec 3 '14 at 17:06
0

I got a solution for this.

Issue was not with Cache but with Price indexer. I found that price were updated in catalog_product_entity_decimal table but not in catalog_product_index_price.

I figured out this by below query

SELECT value, sku,price, final_price
FROM `catalog_product_index_price` p,`catalog_product_entity_decimal` d, catalog_product_entity m
WHERE d.entity_id = m.entity_id
and p.entity_id = m.entity_id
AND attribute_id =75 // ( Price attribute id )
AND p.final_price != d.value 

This query gives result for all store ( if you have multiple stores then )

For a quick solution, i simply updated the Index table with new values.

( this is not recommended, I was confident enough before executing below update queries. This is only for simple product types. If anyone, trying out this solution, please be very careful).

update mg_catalog_product_index_price p
set final_price = (select value from mg_catalog_product_entity_decimal d ,mg_catalog_product_entity m where p.entity_id = d.entity_id  AND d.attribute_id =75 and d.entity_id = m.entity_id  )
where p.entity_id = (select d.entity_id from mg_catalog_product_entity_decimal d where p.entity_id = d.entity_id  AND d.attribute_id =75 )

Here i am just updating 'Final Price' column. We also need to update Price, min_price, max_price

Its always better to check out issue with Price indexer, rather than updating table itself. But you can always use above select query to identify such records.

Thanks.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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