2

I am running Magento 1.8.1.0. I made a price rule to give all customer groups 20% off on all products, up to date 12/25/2014. I click the button "Save and Apply", the prices of all products run well.

But on the next day, all prices are restored to the original price automatically. Can anybody can help me?

  • 4
    This usually happens when your Magento cron isn't running – Ben Lessani - Sonassi Dec 13 '14 at 1:53
  • can you give me some details? Thanks – hanni Dec 13 '14 at 1:56
7
  • Ensure that your Magento cron is setup correctly: Installing and Verifying Magento: Setting Up Cron Jobs
  • Check if the cron-job is running

    • look into cron_schedule-db-table
    • use /cron.php to refresh
    • delete /var/cache for changes in etc/config.xml cron-sections (not sure to also truncate db-table)
  • Check if price-calculation happens after indexing.

"After the indexed price is saved into the index table this events triggers an observer method, which updates the index table with catalog rule adjusted prices. Because of this fact it is important to make sure that the Mage_CatalogRule module’s cronjob, which calculates rule prices for the current day, is run before the daily product price indexer." http://www.solvingmagento.com/magento-catalog-price-rules/

  • There is a time-issue. So beware for day-breaks. Control DB-table-times.
  • Control errors: There are just stored in DB.

I have Magento 1.7.0.2

1

I have the same problem, for a long time to fight the problem and the only option Con Job. For me this is a problem in magento 1.8 and 1.9. I tried to solve it in the cPanel Cron Job. This solution I tried it yesterday and now wait to see whether the problem would be solved. Setup is not difficult, the user can see at: http://creatingawebstore.com/how-to-setup-magento-cron-jobs-demonstrated-on-cpanel.html

0

Faced similar issue,please follow below steps:

1)Copy file refresh.php

app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php 

to

app/code/local/Mage/CatalogRule/Model/Action/Index/Refresh.php

2)Replace

$timestamp = $coreDate->gmtTimestamp('Today');

with

$timestamp = Mage::app()->getLocale()->date(null, null, null, true)->get(Zend_Date::TIMESTAMP);

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.