我们使用Magento 1.7.0.2。
现在我们有了一个促销日历,里面有产品(离线),应该可以在商店的首页上看到一天的促销活动。
我们有两个属性"自日期起的特殊价格"answers"截至日期的特殊价格",以及产品应在主页上显示的日期。我们还有一个属性"特价",我们在其中输入促销价格。
示例:
Today is 09.12.2013
"Price" = 200
"Special Price" = 180
"Special Price From Date" = 10.12.2013
"Special Price To Date" = 10.12.2013
现在,该产品应显示在主页上,并于2013年12月10日以180的特价出售。
如果我在2013年12月10日通过前端的类别过滤器搜索该产品,该产品的价格实际上降低到了180。现在的问题是,该产品确实在2013年2月10日显示在首页上,但旧价格为200。
我找到了一个解决方案:我必须等到相关日期,编辑产品,然后再次单击"保存"。然后产品出现在主页上,并带有促销价格。但你可能知道,我们不可能每天都保存每一个受影响的产品。"自即日起特价"应该做到这一点,不是吗?
我已经尝试过的:
- Call cron.php via cronjob call 1x per day
- Call indexer.php reindexall via cronjob 1x per day
- Calling a script 1x per day via cronjob which deletes all caches
不幸的是,一切都不起作用。有人知道我在这里做错了什么吗?
我想过损坏的表或类似的东西,每天执行一次这样的脚本怎么样?
$tables = $db->query('SHOW TABLES');
foreach ($tables as $table)
{
$db->query("ANALYZE TABLE {$table}");
$db->query("OPTIMIZE TABLE {$table}");
}
Magento已经cron重新索引目录价格(catalog_product_index_price_index_all)并删除所有缓存(core_clean_cache)。
您需要检查这些cron是否正常运行。
或
您可以安装此cron调度程序免费扩展(http://www.magentocommerce.com/magento-connect/aoe-scheduler.html)查看所有cron活动并找出问题。
希望会有所帮助!