如何在 PrestaShop 自定义模块中重置缓存和覆盖?

How to reset cache and override in a PrestaShop custom module?

我正在开发 PrestaShop (1.7.6) 模块,该模块使用 ps_emailsubscription 本机模块的覆盖。

但是,当我将模块升级到新版本时,我更改了覆盖功能并且我知道当模块中有覆盖时,此覆盖只会在安装期间复制到根覆盖文件夹模块。

有没有办法指定存在新版本的覆盖并强制更新?

另外,在同一个过程中,有没有办法在升级过程中强制清除缓存?

您必须编写“覆盖检查”例程并在新模块版本发布的 upgrade.php 文件中调用它。

如果您需要清除所有缓存,您可以调用这些核心方法:

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

但这可能非常耗时,具体取决于商店的缓存大小。

如果您只需要刷新覆盖,我建议您只删除 /var/cache/prod 中的 class_index.php 文件。