问题描述
我正在开发一个 PrestaShop (1.7.6) 模块,该模块使用 ps_emailsubscription 本机模块的覆盖。
但是,当我将模块升级到新版本时,我更改了覆盖功能,并且我知道当模块中存在覆盖时,此覆盖仅在安装模块期间复制到根覆盖文件夹.
有没有办法指定存在新版本的覆盖并强制更新?
另外,在同一过程中,有没有办法在升级过程中强制清除缓存?
解决方法
您必须编写“覆盖检查”例程并在新模块版本发布的 upgrade.php 文件中调用它。
如果您需要清除所有缓存,您可以调用这些核心方法:
Tools::clearSmartyCache();
Tools::clearXMLCache();
Media::clearCache();
但这可能非常耗时,具体取决于商店的缓存大小。
如果您只需要刷新覆盖,我建议您只删除 /var/cache/prod 中的 class_index.php 文件。