【发布时间】:2018-01-09 10:14:54
【问题描述】:
我有一个问题: 当我尝试像这样以编程方式刷新 Magento 缓存时:
$types=array('config','layout','block_html','translate','collections','eav','config_api','config_api2');
foreach($types as $type) {
$c = Mage::app()->getCacheInstance()->cleanType($type);
Mage::dispatchEvent('adminhtml_cache_refresh_type', array('type' => $type));
}
[source]
我已经阅读了关于 Magento 缓存的 this article 并且它正在刷新,但我仍然缺少一些东西。
上面的方法应该和“Flush Magento Cache”按钮一样,但在我的例子中不是这样。当我运行一个脚本时,我正在保存一个新控制器,但是在使用上述方式(以及我已经尝试过的许多其他方式)以编程方式刷新缓存后它不起作用。
但是,只要我在脚本工作的中间从管理面板手动执行相同操作,它就会开始正常工作。
有什么想法吗?如果我将脚本代码放在这里有帮助吗?
提前致谢!
【问题讨论】:
-
这是否意味着您在刷新缓存后看不到新的控制器类或控制器的 url 不起作用并显示 404?
-
我应该在哪里看到我的控制器?你的意思是在管理面板中? - 不,自动缓存刷新后它不存在。并在手册出现后。