在 Prestashop 1.6 上以编程方式清除缓存

Clear cache programmatically on Prestashop 1.6

一个重要的模块(支付)从前台随机消失。

我发现如果我从后台清除缓存(见图),模块又回来了。

但是,BO 中没有激活缓存,但我需要单击清除缓存按钮。

因此,由于目前找不到解决方案,我决定创建一个 cron 函数来清除缓存。

但是我的功能似乎不完整,因为调用此功能后模块没有显示。 同样,如果我从 BO 中清除缓存(通过单击按钮 "clear cache"),该模块将再次出现。

我的函数中是否缺少某些内容?我使用 Prestashop 1.6.1.6

这是我的代码:

require(dirname(__FILE__) . '/config/config.inc.php');

// sécurité pour éviter qu'un robot ou un user appelle le script
$token = Tools::getValue('token');
if (!$token || $token != '169785') {
    die();
}

Tools::clearSmartyCache();
Tools::clearXMLCache();
Media::clearCache();
PrestaShopAutoload::getInstance()->generateIndex();

正如 AdminPerformance 控制器所做的那样:

Tools::clearSmartyCache();
Tools::clearXMLCache();
Media::clearCache();
Tools::generateIndex();

够了:)