【发布时间】:2013-12-26 08:23:20
【问题描述】:
我们使用 Magento 1.7.0.2。
现在我们有一个包含产品(离线)的促销日历,该日历应该在一天内作为促销活动显示在商店首页上。
我们有两个属性“Special Price From Date”和“Special Price To Date”以及产品应该在主页上显示的日期。 我们还有一个属性“特价”,我们可以在其中输入促销价格。
例子:
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年12月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}");
}
【问题讨论】:
-
你能分享负责在主页上展示特殊产品的代码吗?
-
您是否禁用了块缓存?
-
是的,我已禁用所有缓存进行测试。
标签: php mysql sql magento cron